Python爬虫的常见依赖库大全

Splash

Splash是一个Javascript渲染服务。它是一个实现了HTTP API的轻量级浏览器,Splash是用Python实现的,是一个页面渲染服务器,返回渲染后的页面,便于爬取,便于规模应用。

https://splash.readthedocs.io/en/stable/

文档地址:https://splash.readthedocs.io/en/stable/api.html

Scrapy

Scrapy是一个适用爬取网站数据、提取结构性数据的应用程序框架,它可以应用在广泛领域:Scrapy 常应用在包括数据挖掘,信息处理或存储历史数据等一系列的程序中。通常我们可以很简单的通过 Scrapy 框架实现一个爬虫,抓取指定网站的内容或图片。尽管Scrapy原本是设计用来屏幕抓取(更精确的说,是网络抓取),但它也可以用来访问API来提取数据。

https://docs.scrapy.org/en/latest/

pyspider

一个国人编写的强大的网络爬虫系统并带有强大的WebUI。采用Python语言编写,分布式架构,支持多种数据库后端,强大的WebUI支持脚本编辑器,任务监视器,项目管理器以及结果查看器。

http://docs.pyspider.org/en/latest/

Selenium

Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码做出点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。

Selenium 的核心,也称browser bot,是用 JavaScript 编写的。这使得测试脚本可以在受支持的浏览器中运行。browser bot 负责执行从测试脚本接收到的命令,测试脚本要么是用 HTML 的表布局编写的,要么是使用一种受支持的编程语言编写的。

https://www.selenium.dev/documentation/en/

文档地址:
https://selenium-python.readthedocs.io/index.html

Selenium依赖的WebDriver

Requests

Requests是一常用的http请求库,它使用python语言编写,可以方便地发送http请求,以及方便地处理响应结果。

https://requests.readthedocs.io/en/master/

Phantomjs

phantomjs实现了一个无界面的webkit浏览器。虽然没有界面,但dom渲染、js运行、网络访问、canvas/svg绘制等功能都很完备,在页面抓取、页面输出、自动化测试等方面有广泛的应用。

https://phantomjs.org/

Beautiful Soup

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库,提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

pyquery

强大而灵活的网页解析库。如果你觉得正则写起来太麻烦,如果你觉得BeautifulSoup语法太难记,如果你熟悉jQuery的语法,那么PyQuery就是你的绝佳选择!!!

https://pythonhosted.org/pyquery/

tesserocr

Tesserocr是python的一个OCR识别库,但其实是对tesseract做的一层python API封装,可以用于验证码图片的识别。

https://github.com/sirfz/tesserocr

AIOHTTP

一个异步的 HTTP 客户端\服务端框架,基于 asyncio 的异步模块。可用于实现异步爬虫,更快于 requests 的同步爬虫。

https://docs.aiohttp.org/en/stable/

Charles

Charles 是在 PC 端常用的网络封包截取工具,在做移动开发时,我们为了调试与服务器端的网络通讯协议,常常需要截取网络封包来分析。Charles 通过将自己设置成系统的网络访问代理服务器,使得所有的网络访问请求都通过它来完成,从而实现了网络封包的截取和分析。

https://www.charlesproxy.com/

mitmproxy

mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。

https://mitmproxy.org/

Appium

selenium是web端的自动化,appium是app端的自动化。Appium 是一个自动化测试开源工具,支持iOS 平台和Android 平台上的原生应用,web 应用和混合应用。

http://appium.io/

相关推荐

1 thought on “Python爬虫的常见依赖库大全”

Leave a Comment