Scrapy - 如何跟踪启动网址
问题描述:
给定一个启动URL的池我想在parse_item()函数中标识原始URL。Scrapy - 如何跟踪启动网址
就我而言,scrapy蜘蛛开始从最初的启动URL池中爬取,但是在解析时没有追踪哪个url是最初的url。如何能够跟踪起点?
答
如果你需要的蜘蛛内部解析的网址,只需使用response.url:
def parse_item(self, response):
print response.url
,但如果你需要它外面的蜘蛛,我能想到的方法如下:
- 使用scrapy core api
- 您也可以通过OS命令从外部python模块调用scrapy(显然不推荐):
在scrapycaller.py
from subprocess import call
urls = 'url1,url2'
cmd = 'scrapy crawl myspider -a myurls={}'.format(urls)
call(cmd, shell=True)
内myspider:
class mySpider(scrapy.Spider):
def __init__(self, myurls=''):
self.start_urls = myurls.split(",")