带有 Scrapy 和 Python 的 XPath,无法使 XPath 正常工作

过去一周我一直在使用以下教程使用 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 Spider

from scrapy.selector import Selector


from stack.items import QuestionItem


class 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     


四季花海
浏览 267回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python