如何解决如何使用Scrapy退回多个物品?
我正在尝试学习Scrapy的基础知识。我已经写了下面的蜘蛛来刮擦其中一个练习网站books.toscrape.com。抓取工具会抓取该网站,当我只告诉它p = [0,1.1,1.9,3,3.9,6.1 ...]
的标题和价格时,它会为网站上的每一本书返回它们,但是当我使用print
时,如下所示,它仅返回最后一本书的信息在网站上列出。
毫无疑问,我的错误很简单,但是我无法弄清楚它是什么。
谁能告诉我为什么这只会刮擦网站上的最终标题和价格清单?
谢谢!
yield
解决方法
您误认为收益: 固定:
import scrapy
class FirstSpider(scrapy.Spider):
name="CW"
start_urls = ['http://books.toscrape.com/']
def parse(self,response):
books = response.xpath('//article[@class="product_pod"]')
for item in books:
title = item.xpath('.//h3/a/@title').getall()
price = item.xpath('.//div/p[@class="price_color"]').getall()
yield {
'title': title,'price': price,}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。