DrissionPage框架应用
Scrapy框架可以自定义请求,我们经常使用的selenium,pypuppteer,playwight等模拟浏览器的环境执行网络的请求;但是以上都有被检测的风险,新晋浏览器防检测工具,不仅不需要繁琐的安装浏览器的内核,也不需要为浏览器升级后带来的版本不支持烦劳了。它可以自动调用我们本地的浏览器执行网络请求;他不仅支持浏览器的操作还支持类似requests的网络请求sessionpage,webpage,可以在模式之间相互切换,使用浏览器模式获取数据后,再使用requests的模式处理数据。在我们遇到一些不好处理的反爬虫的情况下,就可以使用这个工具帮助我们模拟人类的操作,达到获取数据的结果;下面我们介绍如何使用dp及如何与scrapy结合,最后我们部署远程浏览器,调用执行;
-
安装DrissionPage
pip install DrissionPage
-
使用dp运行接口案例
from DrissionPage import ChromiumPage,ChromiumOptions
co = ChromiumOptions()
co.headless(True)
# 1、设置无头模式:co.headless(True)
# 2、设置无痕模式:co.incognito(True)
# 3、设置访客模式:co.set_argument('--guest')
# 4、设置请求头user-agent:co.set_user_agent()
# 5、设置指定端口号:co.set_local_port(7890)
# 6、设置代理:co.set_proxy('http://localhost:2222')
page = ChromiumPage(co)
page.get(url)
# page.wait.ele_displayed("c:.price") 等待某一个css样式的出现
page.wait.load_start() # 等待页面加载完成
print</