【问题标题】:Different parse function for different start_urls in ScrapyScrapy中不同start_urls的不同解析函数
【发布时间】:2023-03-25 14:58:01
【问题描述】:

Scrapy 可以为每个 start_urls 设置不同的解析函数吗?

这是一段伪代码:

    start_urls = [
    "http://111sssssssss.com",
    "http://222sssssssssssss.com",
    "http://333sssssssssss.com",
    "http://444sssssssss.com",
]


def parse_1():
    '''some code, this function will crawl http://111sssssssss.com'''


def parse_2():
    '''some code, this function will crawl http://222sssssssssssss.com'''

有什么办法吗?

【问题讨论】:

    标签: scrapy


    【解决方案1】:

    您可以覆盖/实现parse_start_url 函数,并在response.url 满足您的条件时调用parse_1parse_2(在这种情况下,它是正确的URL)。

    def parse_start_url(response):
        if response.url == 'http://111sssssssss.com':
            parse_1(response)
        if response.url == 'http://222sssssssssssss.com':
            parse_2(response)
    

    有关parse_start_url() 的更多信息,请阅读the documentation

    【讨论】:

    • 我在想 Scrapy 是否内置了 methd,但你的想法还是不错的。想你
    猜你喜欢
    • 2014-03-27
    • 1970-01-01
    • 2019-03-22
    • 2021-04-23
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多