首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何给抓取URL抓取抓取?

如何给抓取URL抓取抓取?
EN

Stack Overflow用户
提问于 2012-03-13 09:11:31
回答 6查看 23.5K关注 0票数 35

我想用刮擦来爬行网页。有办法从终端本身传递起始URL吗?

文档中,可以给出蜘蛛的名称或URL,但是当我给出url时它会抛出一个错误:

//我的蜘蛛的名字就是例子,但是我给出的是url而不是我的蜘蛛名(如果我给蜘蛛命名的话,效果会很好)。

抓取性爬行example.com

错误:

文件"/usr/local/lib/python2.7/dist-packages/Scrapy-0.14.1-py2.7.egg/scrapy/spidermanager.py",第43行,在create (“蜘蛛未找到:%s”% spider_name) KeyError中:‘蜘蛛未找到: example.com’

我怎样才能把我的蜘蛛用在终端的url上呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-03-13 11:00:35

我不太确定命令行选项。然而,你可以这样写你的蜘蛛。

代码语言:javascript
复制
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"

票数 61
EN

Stack Overflow用户

发布于 2013-03-08 10:34:25

允许多个url-参数比Peter建议的更简单的方法是将它们作为一个字符串,其中url由逗号分隔,如下所示:

代码语言:javascript
复制
-a start_urls="http://example1.com,http://example2.com"

在蜘蛛中,您只需将字符串拆分到',‘,并获得一个urls数组:

代码语言:javascript
复制
self.start_urls = kwargs.get('start_urls').split(',')
票数 17
EN

Stack Overflow用户

发布于 2012-03-15 11:49:45

使用scrapy解析命令。你可以用你的蜘蛛解析一个网址。url从命令中传递。

代码语言:javascript
复制
$ scrapy parse http://www.example.com/ --spider=spider-name

http://doc.scrapy.org/en/latest/topics/commands.html#parse

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9681114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档