跳转到主要内容

用于爬取网站的库

项目描述

http-crawler是一个用于爬取网站的库。它使用requests来发送HTTP请求。

安装

使用pip安装

$ pip install http-crawler

用法

http_crawler模块提供了一个生成器函数crawl

crawl函数需要一个URL作为参数,并生成requestsResponse类的实例。

crawl会请求给定URL的页面,并从中提取所有URL。然后它会为每个URL发起请求,并重复此过程,直到请求了原始URL域名下的所有链接。它不会从与原始URL不同域的页面中提取或处理URL。

例如,这是使用crawl查找和记录网站上任何断链的方法

>>> from http_crawler import crawl
>>> for rsp in crawl('http://www.example.com'):
>>>     if rsp.status_code != 200:
>>>         print('Got {} at {}'.format(rsp.status_code, rsp.url))

crawl有几个选项

  • follow_external_links(默认True)如果设置,crawl将请求遇到的每个URL,包括与原始URL不同域的URL。如果未设置,crawl将忽略所有与原始URL不同域的URL。在任何情况下,crawl都不会从与原始URL不同域的页面中提取更多URL。

  • ignore_fragments (默认 True) 如果设置为 True,crawl 将忽略任何 URL 的片段部分。这意味着如果 crawl 遇到 http://domain/path#anchor,它将请求 http://domain/path。此外,这意味着如果 crawl 遇到 http://domain/path#anchor1http://domain/path#anchor2,它将只发送一次请求。

  • verify (默认 True) 此选项控制 SSL 证书验证的行为。有关更多详细信息,请参阅 requests 文档

动机

为什么还需要另一个爬虫库?当然有很多 Python 爬虫工具,但我能找到的要么太复杂,要么太简单,或者有太多的依赖关系。

http-crawler 被设计成一个 库而不是框架,因此它应该很容易在应用程序或其它库中使用。

贡献

问题追踪器 上有一些适合希望第一次为开源项目贡献的人的改进。

有关创建拉取请求的说明,请参阅 GitHub 指南

所有贡献都应该包括测试,覆盖率应为 100%,并且应符合 PEP 8。项目使用 tox 来运行测试和检查代码质量指标。

要运行测试

$ tox

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分发

http-crawler-0.2.1.tar.gz (3.7 kB 查看哈希值)

上传时间 源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面