2024-04-24 17:00:21 发布
网友
我想从这个网站上搜刮一件衣服的价格:http://www.asos.com/asics/asics-gel-kayano-evo-trainers-in-black-h707n-9090/prd/7592389?iid=7592389&clr=Black&cid=4209&pgesize=36&pge=0&totalstyles=2160&gridsize=3&gridrow=2&gridcolumn=1
这里有一个link to a screenshot的页面要刮
使用刮壳:
response.xpath('//span[@data-id="current-price"]/text()').extract()
不返回任何内容,即使在呈现网站后也是如此。你知道怎么从网站上搜集这条价格信息吗
谢谢你
Scrapy不执行javascript呈现,因此您需要一个浏览器自动化服务,比如selenium或^{}
selenium
但是,在这种情况下,您仍然可以从相同的原始响应中获得所需的信息,因为它包含数据(但最终显示的html标记上没有呈现)。大多数站点从单独的请求中获取额外的信息,这导致了更困难的爬网
您可以通过以下方式获得所需信息:
import json ... d = json.loads(response.xpath('//script[contains(., "Pages/FullProduct")]/text()').re_first("view\('(\{.*\})',")) print d['price'] // {u'currency': u'GBP', u'current': 70.0, u'previous': 0.0, u'rrp': 0.0} print d['price']['current'] // 70.0
Scrapy不执行javascript呈现,因此您需要一个浏览器自动化服务,比如}
selenium
或^{但是,在这种情况下,您仍然可以从相同的原始响应中获得所需的信息,因为它包含数据(但最终显示的html标记上没有呈现)。大多数站点从单独的请求中获取额外的信息,这导致了更困难的爬网
您可以通过以下方式获得所需信息:
相关问题 更多 >
编程相关推荐