全能型爬虫框架grab在window10上的安装与示例

GitHub: https://github.com/lorien/grab
参考官网:https://pypi.org/project/grab/
文档地址:http://docs.grablib.org/en/latest/
邮件清单:http://groups.google.com/group/python-grab/

What is Grab?

Grab是一个python web抓取框架。Grab提供了许多有用的方法来执行网络请求,抓取网站并处理已删除的内容:

  • 自动cookie(会话)支持
  • 具有/不具有授权的HTTP和SOCKS代理
  • 保持活力支持
  • IDN支持
  • 使用Web表单的工具
  • 轻松的多部分文件上传
  • 灵活定制HTTP请求
  • 自动字符集检测
  • 功能强大的API,可通过XPATH查询从HTML文档的DOM树中提取数据
  • 异步API可以实现数千个同步查询。这部分库名为Spider。请参阅下面的蜘蛛胎儿列表。

Spider是一个用于编写网站抓取工具的框架。特征:

  • 在单独的代码块中组织请求/解析逻辑的规则和约定
  • 多个并行网络请求
  • 自动处理网络错误(失败的任务返回任务队列)
  • 您可以使用Grab API创建网络请求和解析响应(参见上文)
  • HTTP代理支持
  • 缓存网络会导致永久存储
  • 任务队列的不同后端(内存中,redis,mongodb)
  • 调试和收集统计信息的工具

windows10上如何安装?

Step 1. 安装 lxml.

下载地址 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml

根据python版本与电脑类型下载文件,然后拷贝到python安装目录

pip install  *.whl

如已安装则略过

Step 2. 安装pycurl.

下载地址:https://bintray.com/pycurl/pycurl/pycurl/view#files
建议安装7.19.5.3 版本,官网不建议安装最新的7.43.0版本 ,因为在window上不稳定)

Step 3.升级安装工具(已是最新则可忽略此步)

python -m pip install -U pip setuptools

Step 4. 安装Grab

python -m pip install grab

linux,mac等系统安装参考:

http://docs.grablib.org/en/latest/usage/installation.html


举例:使用grab自动查询,获取查询结果第一条数据

import logging

from grab.spider import Spider, Task

logging.basicConfig(level=logging.DEBUG)


class ExampleSpider(Spider):
    def task_generator(self):
        for lang in 'python', 'ruby', 'perl':
            url = 'https://www.baidu.com/s?wd=%s' % lang
            yield Task('search', url=url, lang=lang)

    def task_search(self, grab, task):
        print('%s: %s' % (task.lang,
                          grab.doc('//div[@class="f13"]//a').text()))

bot = ExampleSpider(thread_number=2)
bot.run()

运行结果:

>>> 
DEBUG:grab.spider.base:Using memory backend for task queue
DEBUG:grab.network:[01-worker:networkservicemulticurl:spawner_callback] GET https://www.baidu.com/s?wd=perl
DEBUG:grab.network:[02-worker:networkservicemulticurl:spawner_callback] GET https://www.baidu.com/s?wd=python
DEBUG:grab.network:[03-worker:networkservicemulticurl:spawner_callback] GET https://www.baidu.com/s?wd=ruby
perl: www.perl.org/
DEBUG:grab.stat:RPS: 1.81 []
python: https://www.python.org/
ruby: www.ruby-lang.org/
DEBUG:grab.stat:RPS: 0.49 []
DEBUG:grab.spider.base:Work done

延伸阅读:

pyspider开源爬虫框架

  • http://docs.pyspider.org/en/latest/
  • 安装 pyspider:pip install pyspider
  • 参考文档:https://blog.csdn.net/u011659379/article/details/48223385

你可能感兴趣的:(全能型爬虫框架grab在window10上的安装与示例)