用于爬取网站的库
项目描述
http-crawler是一个用于爬取网站的库。它使用requests来发送HTTP请求。
安装
使用pip安装
$ pip install http-crawler
用法
http_crawler模块提供了一个生成器函数crawl。
crawl函数需要一个URL作为参数,并生成requests的Response类的实例。
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#anchor1 和 http://domain/path#anchor2,它将只发送一次请求。
verify (默认 True) 此选项控制 SSL 证书验证的行为。有关更多详细信息,请参阅 requests 文档。
动机
为什么还需要另一个爬虫库?当然有很多 Python 爬虫工具,但我能找到的要么太复杂,要么太简单,或者有太多的依赖关系。
http-crawler 被设计成一个 库而不是框架,因此它应该很容易在应用程序或其它库中使用。
贡献
在 问题追踪器 上有一些适合希望第一次为开源项目贡献的人的改进。
有关创建拉取请求的说明,请参阅 GitHub 指南。
所有贡献都应该包括测试,覆盖率应为 100%,并且应符合 PEP 8。项目使用 tox 来运行测试和检查代码质量指标。
要运行测试
$ tox
项目详情
http-crawler-0.2.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 50f83d3ef82bb2ba5562aaad78a8ed812adaceec4b8633a5d949058be73c53c2 |
|
MD5 | fbc176eddb431c4dbf218d7bc9658f14 |
|
BLAKE2b-256 | fcf4da694dacc99fe444002ff587fddb240aa1055149fc420352ae9d53b66cfb |