发布于 2015-12-25 21:57:11 | 370 次阅读 | 评论: 0 | 来源: PHPERZ

这里有新鲜出炉的Scrapy 0.24 中文文档,程序狗速度看过来!

Scrapy Python的爬虫框架

Scrapy是一个Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。


进行抓取任务时很苦恼的一点在于为了调试某个第三,四层以上的跳转链接需要等待将前面的链接都跑一遍,才能确定某个页面的parse函数是否正确,scrapy的命令行参数 parse就是为了解决这一问题.

官网的描述

Syntax: scrapy parse <url> [options]
意思就是 scrpy parse 网址 可选参数

官网给出的例子 $ scrapy shell       http://www.example.com/some/page.html

我的实践之路

开始运行时结果总是没有打印出任何log来,于是将原本0.25的scrapy升级到1.0
这时再输入

scrapy parse http://www.douban.com -c group_parse

报了这样的错误

ERROR: Unable to find spider for: http://www.douban.com

还有可能是这样的

Traceback (most recent call last):
  File "/usr/local/bin/scrapy", line 11, in <module>
    sys.exit(execute())
  File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 143, in execute
    _run_print_help(parser, _run_command, cmd, args, opts)
  File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 89, in _run_print_help
    func(*a, **kw)
  File "/Library/Python/2.7/site-packages/scrapy/cmdline.py", line 150, in _run_command
    cmd.run(args, opts)
  File "/Library/Python/2.7/site-packages/scrapy/commands/parse.py", line 220, in run
    self.set_spidercls(url, opts)
  File "/Library/Python/2.7/site-packages/scrapy/commands/parse.py", line 147, in set_spidercls
    self.spidercls.start_requests = _start_requests
AttributeError: 'NoneType' object has no attribute 'start_requests'

好吧,自动找不到我们就显示指定下爬虫的名字
就是在继承自spider类里定义的那个name里的值

class douban(Spider):
    name = "douban_spider"

ok 问题解决



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务