我正在尝试从网站上嵌入的JS下拉列表中抓取市场列表:https://e27.co/startups
使用scrapy shell,我试图从“markets”下拉菜单中抓取市场列表,但无法这样做。
在运行了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"')
这两个都是通过检查dropdown元素获得的。
但是,将返回一个空列表。
我可以知道如何从下拉列表中抓取所有不同的市场吗?谢谢。
发布于 2019-06-13 14:54:28
这些数据位于单独的对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',
...
https://stackoverflow.com/questions/56572882
复制相似问题