DrissionPage是一个基于Python的网页自动化工具,它集成了Selenium和Requests的功能,既能够控制浏览器进行用户界面的模拟操作,也能够直接收发数据包进行数据的获取和处理。
开源地址:DrissionPage: 基于python的网页自动化工具。既能控制浏览器,也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少。https://gitee.com/g1879/DrissionPage
相信很多开发人员都用到过selenium和requests作为网页爬取的工具,下面简单对比一下使用DrissionPage和同类型产品的代码复杂度,而且更加重要的是DrissionPage支持更多高级功能,能够让你快速完成对网页信息的提取和接口监听。
先来对比requests:
url = 'https://baike.baidu.com/item/python'
# 使用 requests:
from lxml import etree
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36'}
response = requests.get(url, headers = headers)
html = etree.HTML(response.text)
element = html.xpath('//h1')[0]
title = element.text
# 使用 DrissionPage:
page = WebPage('s')
page.get(url)
title