Scrapy分布式爬取诗词数据:编码问题和爬取数量限制
要确保服务器上的number和title都是utf-8编码,可以在代码中添加编码转换的步骤。修改代码如下:\n\npython\ndef parse_item(self, response):\n # 对每一页页面信息进行解析,提取诗词编号哦,标题,和对应的诗词详情url\n div_list = response.xpath('//div[@class="card shici_card"]')\n for div in div_list:\n item = FenbushiItem()\n number = div.xpath('./div[1]/span/text()').extract_first().encode('utf-8')\n title = div.xpath('./div[2]/h3/a/text()').extract_first().encode('utf-8')\n item['number'] = number\n item['title'] = title\n yield item\n\n\n至于为什么一直只爬取到1页并且没有爬取到全部数据,可能有以下几个原因:\n\n1. 起始url设置不正确,需要确保起始url能够正确访问到需要爬取的页面。\n2. 爬取的页面数量设置不正确,可以通过调整CLOSESPIDER_PAGECOUNT参数来控制爬取的页面数量。\n3. 爬取速度过快,可能被目标网站的反爬措施识别并阻止。可以通过设置DOWNLOAD_DELAY参数来调整爬取的速度。\n\n可以根据具体情况逐个排查以上可能的原因,并进行相应的调整。
原文地址: https://www.cveoy.top/t/topic/pBJB 著作权归作者所有。请勿转载和采集!