2016-09-19 122 views
1

給定一個啓動URL的池我想在parse_item()函數中標識原始URL。Scrapy - 如何跟蹤啓動網址

就我而言,scrapy蜘蛛開始從最初的啓動URL池中爬取,但是在解析時沒有追蹤哪個url是最初的url。如何能夠跟蹤起點?

回答

0

如果你需要的蜘蛛內部解析的網址,只需使用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(",")