Scrapy中如何向Spider传入参数
目录 方式一 方式二 settings.py run.py pipelines.py 启动示例 在使用Scrapy爬取数据时,有时会碰到需要根据传递给Spider的参数来决定爬取哪些Url或者爬取哪些页的情况。 例如,百度贴吧的放置奇兵吧的地址如下,其中 kw参数用来指定贴吧名称、pn参数用来对帖子进行翻页。 https://tieba.baidu.com/f?kw=放置奇兵&ie=utf-8&pn=250 如果我们希望通过参数传递的方式将贴吧名称和页数等参数传给Spider,来控制我们要爬取哪一个贴吧、爬取哪些页。遇到这种情况,有以下两种方法向Spider传递参数。 方式一 通过 scrapy crawl 命令的 -a 参数向 spider 传递参数。 # -*- coding: utf-8 -*- import scrapy class TiebaSpider(scrapy.Spider): name = 'tieba' # 贴吧爬虫 allowed_domains = ['tieba.baidu.com'] # 允许爬取的范围 start_urls = [] # 爬虫起始地址 # 命令格式: scrapy crawl tieba -a tiebaName=放置奇兵 -a pn=250 def __init__(self, tiebaName=None, pn=None,