1. 前言大家好,我是安果! 今天推荐一款小众轻量级的爬虫库:RoboBrowser RoboBrowser,Your friendly neighborhood web scraper!由纯 Python 编写,运行无需独立的浏览器,它不仅可以做爬虫,还可以实现 Web 端的自动化 项目地址: https://github.com/jmcarp/robobrowser 2. 安装及用法在实战之前,我们先安装依赖库及解析器 PS:官方推荐的解析器是 「lxml」 # 安装依赖 RoboBrowser 常见的 2 个功能为:
使用 RoboBrowser 进行网页数据爬取,常见的 3 个方法如下:
需要指出的是,RoboBrowser 依赖于 BS4,所以它的使用方法和 BS4 类似 更多功能可以参考: https://www./software/BeautifulSoup/bs4/doc.zh/ 3. 实战一下我们以「 百度搜索及爬取搜索结果列表 」为例 3-1 打开目标网站 首先,我们实例化一个 RoboBrowser 对象 from time import sleep 然后,使用 RoboBrowser 实例对象中的 open() 方法打开目标网站 3-2 自动化表单提交 首先,使用 RoboBrowser 实例对象获取网页中的表单 Form 然后,通过为表单中的输入框赋值模拟输入操作 最后,使用 submit_form() 方法进行表单提交,模拟一次搜索操作 # 获取表单对象 3-3 数据爬取 分析搜索页面的网页结构,利用 RoboBrowser 中的 select() 方法匹配出所有的搜索列表元素 遍历搜索列表元素,使用 find() 方法查询出每一项的标题及 href 链接地址 # 查看结果 最后,使用 RoboBrowser 中的 follow_link() 方法模拟一下「点击链接,查看网页详情」的操作 # 跳转到第一个链接 需要注意的是,follow_link() 方法的参数为带有 href 值的 a 标签 4. 最后文中结合百度搜索实例,使用 RoboBrowser 完成了一次自动化及爬虫操作 相比 Selenium、Helium 等,RoboBrowser 更轻量级,不依赖独立的浏览器及驱动 如果想处理一些简单的爬虫或 Web 自动化,RoboBrowser 完全够用;但是面对一些复杂的自动化场景,更建议使用 Selenium、Pyppeteer、Helium 等 |
|