一尘不染

如何提供URL进行抓取?

scrapy

我想使用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?


阅读 583

收藏
2020-04-08

共1个答案

一尘不染

不太确定命令行选项。但是,你可以这样编写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"

2020-04-08