python - 在scrapy上找到合适的选择器css来爬取网页
问题描述
我正在尝试抓取此网页“ https://www.woolworths.com.au/shop/browse/drinks/cordias-juices-iced-teas/iced-teas ”以提取产品名称,但我找不到正确的选择器,即使是价格、h1 或标题!我试过了 :
response.css(".shelfProductTile-descriptionLink") #for the name product
response.css(".price-cents") # for the price
response.css(".tileList-title") # for the title
我该如何进行?
解决方案
内容是从 POST xhr 返回的 json 动态加载的,您可以在浏览器的网络选项卡中找到。
请求转到:
https://www.woolworths.com.au/apis/ui/browse/category
有效载荷:
{"categoryId":"1_9573995","pageNumber":1,"pageSize":24,"sortType":"TraderRelevance","url":"/shop/browse/drinks/cordials-juices-iced-teas/iced-teas","location":"/shop/browse/drinks/cordials-juices-iced-teas/iced-teas","formatObject":"{\"name\":\"Iced Teas\"}","isSpecial":False,"isBundle":False,"isMobile":False,"filters":"null"}
在scrapy使用中响应:
json.loads(response.body_as_unicode())
推荐阅读
- arrays - 其元素指向另一个指针数组的指针数组
- flutter - 如何让 Transform.translate 工作 Flutter
- php - 在使用“woe_order_export_started”挂钩时确定 WooCommerce 订单是否包含订单备注
- python - 我有这个 LDA 代码,当我运行它时,我不断收到一个难以跟踪的错误
- r - R 基础,管道,用 max() 总结
- java - Preety - 打印 json 并转换为 pdf
- c# - Visual Studio 和事后调试
- python-3.x - 如何在python中加入带有序列开始到结束的破折号文件
- scanf - 如何使用scanf在单词旁边获得一个int?
- python - 替换一组python文件中的字符串