爬虫相关工具

本文最后更新于:2023年8月9日 晚上

爬虫相关工具

1、最早的时候,我是用基本的 urllib.request 这种库请求网页,然后截取页面内容实现简单的爬虫

如果遇到需要填写输入框的页面就没用了

2、selenium 配合 无头浏览器  Phantomjs

Selenium是一个自动化测试的web应用程序,能做到用代码控制浏览器,比如表单填写,鼠标单击

拖拽,执行js脚本,截图等等,但是它需要借助WebDriver工具来实现

Phantomjs是一个无头浏览器,所谓无头就是代码控制浏览器访问数据,不需要显示出来,这样爬虫效率也高,内存消耗也低,Selenium+Phantomjs 配合就能实现自动化测试或者爬虫的完整步骤

3、 ChromeDriver新的无头浏览器

Phantomjs慢慢的不更新了,后来新版本的Selenium干脆抛弃了Phantomjs,不支持了,新的ChromeDriver

就成了替代品,区别是ChromeDriver提供了一个窗口,用来监控代码运行的事件,是完全模仿浏览器行为的

4、 Pyppeteer新的爬虫工具

Selenium+ChromeDriver模式运行起来,配置比较麻烦,运行效率也低,再则就是,这个模式运行了很多年,不少系统已经针对Selenium执行了反爬虫,新的替代品出现了,Pyppeteer,它配置起来相对简单,执行效率也高,虽然只支持 Chromium,但是也够用了。

Pyppeteer 其实是 Puppeteer 的 Python 版本,是个日本工程师维护的,而且更新的也慢,所以bug不少

5、 Puppeteer

Puppeteer是一个Node库,它提供了一个高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome。Puppeteer 默认以 headless 模式运行,但是可以通过修改配置文件运行“有头”模式。

我们可以使用Puppeteer完成以下工作:

  • 访问页面,进行截图
  • 找到页面元素,比如输入框,模拟键盘输入,提交表单
  • 模拟点击等用户操作
  • 等等等等。。

爬虫相关工具
http://bestkele.com/2020/06/05/concept/crawler/
作者
kele
发布于
2020年6月5日
许可协议