Scrapy - 如何跟踪启动URL

时间:2016-09-19 11:56:23

标签: python scrapy web-crawler

给定一个启动网址池,我想在parse_item()函数中识别原始网址。

就我而言,scrapy蜘蛛开始从最初的起始网址中爬行,但是在解析时,没有哪些网址是最初的网址。如何跟踪出发点?

1 个答案:

答案 0 :(得分:-1)

如果您需要在蜘蛛内部使用解析网址,只需使用response.url:

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

但是如果你需要蜘蛛外面我可以想到以下方法:

  1. 使用scrapy core api
  2. 您也可以使用OS命令从外部python模块调用scrapy(显然不建议这样做):
  3. 在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(",")