Scrapy 中不同 start_urls 的不同解析函数
Different parse function for different start_urls in Scrapy
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'''
有什么办法吗?
您可以覆盖/实现 parse_start_url
函数,并在 response.url
满足您的条件时调用 parse_1
或 parse_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可以为每个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'''
有什么办法吗?
您可以覆盖/实现 parse_start_url
函数,并在 response.url
满足您的条件时调用 parse_1
或 parse_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。