有时需要根据项目的实际需求向spider传递参数以控制spider的行为,比如说,根据用户提交的url来控制spider爬取的网站。在这种情况下,可以使用两种方法向spider传递参数。
第一种方法,在命令行用crawl控制spider爬取的时候,加上-a选项,例如:
然后在spider里这样写:
import scrapyclass MySpider(scrapy.Spider): name = 'myspider' def __init__(self, category=None, *args, **kwargs): super(MySpider, self).__init__(*args, **kwargs) self.start_urls = ['http:///some_page.html", callback=self.parse_page2) request.meta['item'] = item return requestdef parse_page2(self, response): item = response.meta['item'] item['other_url'] = response.url return item到此这篇关于详解向scrapy中的spider传递参数的几种方法(2种)的文章就介绍到这了,更多相关scrapy spider传递参数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!