前部分是一些简单的实现方法,但是这里涉及的比较多:
具体的在后面,请看最后:
1.使用chrome的远程调试模式结合selenium来遥控chrome进行抓取,这样不会携带指纹信息
步骤:
- 使用调试模式手工启动chrome,进入chrome的安装路径,例如chrome装在 C:\program\google\chrome.exe下
- 进入chrome安装路径
- 执行命令:
#注意端口不要被占用,防火墙要关闭,user-data-dir用来指明配置文件的路径
chrome.exe --remote-debugging-port=9222 --user-data-dir=“指向任意空文件夹”
2.启动完·之后新建python文件
运行代码:
import requests
from selenium import webdriver
chrome_options = “C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chrome.exe”
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option(‘debuggerAddress’,‘10.8.13.95:9222’)
browser = webdriver.Chrome(chrome_options=chrome_options)
browser.get(“https://www.zhihu.com/signup?next=%2F”)
chrome.exe --remote-debugging-port=9222 --user-data-dir=“D:\moni”
这样监测的就不是selenium模拟了。
关于代替selenium 的一种爬虫机制 splash,并且不会被浏览器检测到,速度也很快
我们要配置谷歌的配置镜像,就是可以使用selenium模拟打开浏览器的配置,下载自己浏览器对应的大版本相同即可,并且需要把下载的配置文件的位置添加到环境变量中,建议把配置文件放在谷歌浏览器安装的文件夹内,防止被杀毒软件无辜伤害。
这个需要使用到docker(以下是关于安装docker的安装和执行教程链接
windows安装docker前的准备工作
https://blog.csdn.net/weixin_43721133/article/details/89020445
windows10安装特有的Docker
https://blog.csdn.net/weixin_43721133/article/details/88969602
windows上docker下载镜像加速配置
https://blog.csdn.net/weixin_43721133/article/details/89011337
)
最后就是打来命令行下载:docker pull scrapinghub/splash来安装splash的镜像
教程链接:
https://www.cnblogs.com/zhangxinqi/p/9279014.html
安装完毕以后我们需要配置启动命令:直接执行的
chrome.exe --remote-debugging-port=9222 --user-data-dir="“D\cheshi”"
“=”后面的路径随意配置即可
当然在执行前,请进入自己谷歌浏览器的安装路径下
上一句执行完毕后执行:docker run -d -p 8050:8050 scrapinghub/splash
*通过浏览器访问8050端口验证安装是否成功
然后按照上面的教程链接练习即可: