蜘蛛论点¶蜘蛛可以接受改变其行为的论据。spider参数的一些常见用途是定义起始URL或将爬行限制在站点的某些部分,但它们可以用于配置spider的任何功能。 蜘蛛参数通过 scrapy crawl myspider -a category=electronics
蜘蛛可以在它们的 __init__ 方法:: import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
def __init__(self, category=None, *args, **kwargs):
super(MySpider, self).__init__(*args, **kwargs)
self.start_urls = [f'http://www.example.com/categories/{category}']
# ...
默认值 __init__ 方法将获取任何spider参数,并将其作为属性复制到spider。上面的例子也可以写如下: import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
def start_requests(self):
yield scrapy.Request(f'http://www.example.com/categories/{self.category}')
如果你是 running Scrapy from a script ,则可以在调用时指定爬行器参数。 process = CrawlerProcess()
process.crawl(MySpider, category="electronics")
请记住,spider参数只是字符串。蜘蛛本身不会进行任何解析。如果你要设置 有效的用例是设置 scrapy crawl myspider -a http_user=myuser -a http_pass=mypassword -a user_agent=mybot
蜘蛛参数也可以通过scrapyD传递 |
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2024-11-21 20:30 , Processed in 0.136878 second(s), 26 queries .