过去一周我一直在使用以下教程使用 python 和 scrapy:https ://realpython.com/web-scraping-with-scrapy-and-mongodb/本教程的作用是通过使用 scrapy 网络爬虫抓取 stackoverflow 上的热门问题及其 url,然后将其存储到 mongoDB 数据库和集合中。我正在尝试调整教程中所做的工作,将多个项目抓取并存储到同一个 mongoDB 数据库的多个集合中,然后以 CSV 格式导出,我已经想出了如何做大部分工作,但我使用scrapy在网页上搜索指定项目的“xpaths”有问题,更具体地说,我已经想出了如何将pipleline处理到mongodb和存储多个集合以及更改集合名称基于正在抓取的项目的名称,但我无法让“蜘蛛”专门针对 xpath 工作,或者据我所知,问题在于 xpath 错误。我之前没有使用过scrapy,我已经做了几天的研究,试图弄清楚如何做xpath,但我似乎无法让它工作。问题标题和网址的蜘蛛按预期工作:from scrapy import Spiderfrom scrapy.selector import Selectorfrom stack.items import QuestionItemclass QuestionSpider(Spider): name = "questions" allowed_domains = ["stackoverflow.com"] start_urls = [ "http://stackoverflow.com/questions?pagesize=50&sort=newest", ] def parse(self, response): questions = Selector(response).xpath('//div[@class="summary"]/h3') for question in questions: item = QuestionItem() item['title'] = question.xpath( 'a[@class="question-hyperlink"]/text()').extract()[0] item['url'] = question.xpath( 'a[@class="question-hyperlink"]/@href').extract()[0] yield item
添加回答
举报
0/150
提交
取消