无法使用Scrapy从下拉列表中报废

时间:2019-06-13 03:12:03

标签: javascript python scrapy dropdown

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

我使用刮y的外壳,试图从“市场”下拉菜单中刮擦市场列表,但无法这样做。

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

对于CSS选择器:

response.css('#startups-page > div > div.search-block.box-view > div.row.mbt-s > div > div > ul > li:nth-child(3)')

对于xpath,我尝试过:

response.xpath('//*[@id="startups-page"]/div/div[1]/div[2]/div/div/ul/li[3]/a"')

两者都是通过检查下拉菜单元素获得的。

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

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

1 个答案:

答案 0 :(得分:1)

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

scrapy shell "https://e27.co/startups?json"中,我可以得到带有此表达式的整个列表:

In [1]: response.css('select#market option::text').extract()
Out[1]: 
[u'Advertising',
 u'Aerospace',
 u'Agency & Consulting',
 u'Agritech',
 u'Architecture & Construction',
...