最后在main运行,运行没有报错,但代码是将数据写入到文件,打开文件,文件确是空的
5条回答 默认 最新
关注
引自免费微信小程序:皆我百晓生
根据您提供的代码片段,我注意到一些可能的问题,导致数据没有正确地写入CSV文件。以下是针对您的代码进行的修改和解释:
首先,您在定义
dangdangItem
字典键值对时,键的格式不正确。Python字符串字面量中,应使用单引号(')或双引号("),而不是转义字符(apos;)。其次,在设置
dangdangItem['nowprice']
的值时,键名拼写错误,应该是'dangdangItem["now_price"]'。最后,确保在处理完所有解析的数据后,调用了
yield
语句将DangdangItem
对象返回给Scrapy,这样数据才会被写入CSV文件。这里是修复后的代码:
import scrapy from scrapytest.items import DangdangItem class DangdangSpider(scrapy.Spider): name = 'dangdang' start_urls = ['https://category.dangdang.com/cp01.54.06.19.00.00.htmL'] def parse(self, response): title = response.xpath("//p[@class='name']/a[@class='itemlist-title']/text()").getall() now_price = response.xpath("//p[@class='price']/span[@class='search_now_price']/text()").get() pre_price = response.xpath("//p[@class='price']/span[@class='search_pre_price']/text()").get() details = response.xpath("//p[@class='detail']/text()").getall() comments = response.xpath("//a[@class='search_comment_num']/text()").getall() author = response.xpath("//a[@class='单品作者']/text()").getall() publishers = response.xpath("//a[@class='单品出版社']/text()").getall() dates = response.xpath('//p[@class="search_book_author"]/span[2]/text()').getall() # 检查是否获取到了数据 if title and now_price and pre_price and details and comments and author and publishers and dates: item = DangdangItem() item['title'] = title item['now_price'] = now_price item['pre_price'] = pre_price item['details'] = details item['comments'] = comments yield item # 返回DangdangItem对象以便写入CSV
然后,确保您的
settings.py
中的输出配置正确。例如,您可能需要添加以下内容(如果还没有的话):FEED_FORMAT = 'csv' FEED_URI = 'dangdangdata.csv'
如果您已经设置了这些,但是仍然遇到问题,请检查以下几点:
- 确保Scrapy正在运行并抓取了正确的URL。
- 您的网络连接正常,可以访问指定的网页。
- 网站结构有无变动,导致XPath选择器不再匹配相应元素。
执行上述更改后,重新运行爬虫,应该可以看到数据被写入到
dangdangdata.csv
文件中。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥50 paddleocr带斜线的0很容易识别成9
- ¥15 电子档案元素采集(tiff及PDF扫描图片)
- ¥15 flink-sql-connector-rabbitmq使用
- ¥15 zynq7015,PCIE读写延时偏大
- ¥15 使用spss做psm(倾向性评分匹配)遇到问题
- ¥20 vue+UEditor附件上传问题
- ¥15 想做个WPS的自动化代码,不知道能做的起不。
- ¥15 uniApp,生成安卓安卓包后,黑暗主题中间内容不生效,底部导航正常
- ¥15 斯坦福自动漂移非线性模型反解
- ¥15 学习Python如何找兼职