概述
这次来介绍一下github.com/go-rod/rod
这个第三方库,主要我使用在爬虫需要过滑块验证的情况下.
通过这个支持库,可以很方便的打开一个浏览器并且让他访问一个url,在他访问url时你还可以持续获取url的cookies啥的.
至于浏览器的滑块你可以手动操作,也可以写个python脚本自动滑块
,go程序本身直接获取滑块成功后的cookies
就行了.
上代码
其实主要还是要过掉自动化的检测,我这里是注入的js去过掉的。
- 首先使用
browser.MustPage("")
打开了一个空的标签页。 - 注入JS脚本修改
navigator.webdriver
为false
。 - 注入修改完成后再打开真实的目标URL,这样目标网站就没法通过这个值去检测我是不是自动化程序了。
- 同时滑块成功后页面会自动跳转到其他地方,所以我做了一个拦截,如果不需要的话可以直接删除。
可能要注意下,不一定所有的站点都是通过
webdriver
来检测自动化程序的,但是我这里只提供这个方式,至于其他的需要按照实际场景来看。并且我这里go程序只是为了获取滑块后的cookies,如果想获取请求头或者其他东西的话,可能得自己再研究下。
1 | package main |