首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法使用Scrapy从下拉列表中进行抓取

无法使用Scrapy从下拉列表中进行抓取
EN

Stack Overflow用户
提问于 2019-06-13 11:12:04
回答 1查看 1.4K关注 0票数 0

我正在尝试从网站上嵌入的JS下拉列表中抓取市场列表:https://e27.co/startups

使用scrapy shell,我试图从“markets”下拉菜单中抓取市场列表,但无法这样做。

在运行了scrapy shell 'https://e27.co/startups'之后,我尝试了同时使用response.css()response.xpath()

对于css选择器:

代码语言:javascript
复制
response.css('#startups-page > div > div.search-block.box-view > div.row.mbt-s > div > div > ul > li:nth-child(3)')

对于xpath,我尝试了:

代码语言:javascript
复制
response.xpath('//*[@id="startups-page"]/div/div[1]/div[2]/div/div/ul/li[3]/a"')

这两个都是通过检查dropdown元素获得的。

但是,将返回一个空列表。

我可以知道如何从下拉列表中抓取所有不同的市场吗?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-13 14:54:28

这些数据位于单独的对https://e27.co/startups?json的小请求中。

scrapy shell "https://e27.co/startups?json"中,我可以使用下面的表达式获得整个列表:

代码语言:javascript
复制
In [1]: response.css('select#market option::text').extract()
Out[1]: 
[u'Advertising',
 u'Aerospace',
 u'Agency & Consulting',
 u'Agritech',
 u'Architecture & Construction',
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56572882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档