我想使用scrapy爬行网页。有没有办法从终端本身传递起始URL?
在文档中给出了可以指定spider网名称或URL的名称,但是当我给出URL时会抛出错误:
//我的蜘蛛的名称是示例,但是我给出的是URL而不是我的蜘蛛的名字(如果我给出蜘蛛的名字,效果很好)。
抓取抓取example.com
错误:
File "/usr/local/lib/python2.7/dist-packages/Scrapy-0.14.1-py2.7.egg/scrapy/spidermanager.py", line 43, in create raise KeyError("Spider not found: %s" % spider_name) KeyError: 'Spider not found: example.com'
如何在终端机上给定的URL上使用我的Spider?
不太确定命令行选项。但是,你可以这样编写spider。
class MySpider(BaseSpider): name = 'my_spider' def __init__(self, *args, **kwargs): super(MySpider, self).__init__(*args, **kwargs) self.start_urls = [kwargs.get('start_url')]
像这样开始: scrapy crawl my_spider -a start_url="http://some_url"
scrapy crawl my_spider -a start_url="http://some_url"