Scrapy -如何跟踪开始url



给定一个起始url池,我想在parse_item()函数中识别原始url。

据我所知,scrapy spider从起始url的初始池开始爬行,但是在解析时没有跟踪这些url中的哪个是初始url。怎么可能追踪到起点呢?

如果需要在爬行器中使用解析url,只需使用response.url:

def parse_item(self, response):
    print response.url 

,但如果你需要它的外部蜘蛛我可以想到以下方法:

  1. 使用scrapy core api
  2. 你也可以用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(",") 

最新更新