1
前言
在爬取数据时,有一些网站设置了反爬(禁止F12、网页调试Debugger、丑化Js),比如下面这几种情况:
1.禁止查看源代码
2.网页调试Debugger
上面禁止查看网页问题,可以先按F12,再访问网站,但是又有网页调试Debugger
经过各种百度之后,可以在浏览器里面关闭Debug调试
这样就点击为蓝色就可以关闭了。
3.丑化JS
通过查看,可以发现数据是异步加载过来,查看数据包(network)时,发现js是被丑化过,无法查看
遇到以上这些反爬,难道就会阻止我们去采集数据了???显然不可能(哈哈哈)
上有政策,下有对策
今天教大家如何用python去解决这些问题,并爬取数据。
2
Python解决上述反爬
1.引入Selenium
本来想通过Reuqest请求数据,奈何数据是异步加载,异步链接也被js丑化了。
这时候我考虑抓包方式,但是很遗憾,无法通过抓包方式获取到异步链接
因此这里采用Selenium方式去爬取数据(后面还有新问题,太坑了,但是都解决了)
2.Selenium准备工作
为了在python中使用Selenium,需要进行一些准备工作
安装Selenium库
通过下面命令去安装Selemium库
pip install selenium
下载chromedriver.exe
查看自己对应浏览器(这里使用chrome)版本
在下面这个地址去下载chromedriver.exe
http://chromedriver.storage.googleapis.com/index.html
下载自己浏览器对应版本(我这里选择89)
配置chromedriver.exe
将下载好的文件复制到python安装路径下
通过下面python代码可以查看python安装路径
import sys
print(sys.path)
3.Selenium请求数据
"""导入selenium库"""
from selenium import webdriver
driver = webdriver.Chrome()
"""未将chromedriver.ex复制到python路径下,需要这样写"""
#driver = webdriver.Chrome(executable_path="chromedriver.exe绝对路径")
driver.get('https://www.aqistudy.cn/historydata/daydata.php?city=北京')
结果如下:
发现没有获取到数据,原因是网站监测到非法操作,因此开启Debuggger,所以数据没有异步加载过来。
原本应该是这样的
下面需要进行另外操作(关闭Debugger)
4.给Selenium设置代理
设置代理
找到chrome的路径
在cmd(终端)下,进入到该路径
启动代理
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
通过上面这个命令启动代理
ip是本机ip(127.0.0.1)
端口是9222
启动之后,自动打开chrome,并等待执行代码
编写代码
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_experimental_option('debuggerAddress','127.0.0.1:9222')
driver = webdriver.Chrome(executable_path="C:/Users/Administrator/Anaconda3/envs/lyc36/chromedriver.exe",chrome_options=option)
driver.get('https://www.aqistudy.cn/historydata/daydata.php?city=北京')
这样等待的浏览器就自动加载到数据,成功解决!!
下面请看动图演示
3
总结
1.解决了F12禁止查看网页反爬.
2.解决了网页调试Debugger反爬。
3.Selenium结合代理去模拟浏览器请求。
4.本文总结了几种反爬情况,推荐收藏!收藏!收藏!
最后说一声:原创不易,求给个赞、在看
、评论
------------- 推荐阅读 -------------
爬虫入门篇
4.以『赘婿』为实战案例,手把手教会你用python爬取『爱奇艺』视频弹幕
5.python爬取44130条用户观影数据,分析挖掘用户与电影之间的隐藏信息!
6.基金这么赚钱!!编程实现基金从采集到分析通用模板!(白酒为例)
爬虫框架篇
爬虫反爬篇
2.python实战破解『梨视频』反爬机制,轻松实现批量视频下载!
可视化篇
1.爬取3w条『各种品牌』笔记本电脑数据,统计分析并进行可视化展示!真好看~
2.python爬取7w+『赘婿』弹幕,发现弹幕比剧还精彩!
3.爬取1907条『课程学习』数据,分析哪类学习资源最受大学生青睐
4.python爬取各类基金数据,以『动图可视化』方式展示基金的涨跌情况
5.python爬取『大年初一』热映电影,以『可视化及词云秀』方式带你了解热映电影
6.python爬取淘宝全部『螺蛳粉』数据,看看你真的了解螺蛳粉吗?
8.王者荣耀白晶晶皮肤1小时销量突破千万!分析网友评论我发现了原因
9.分析各类基金近一年『日涨幅』流水线动态图!哭了,真是跌妈不认!
python工具篇
1.教你用python爬虫下载1w+『ppt模板』,再也不用付费去购买啦!
3.详细实战教程!部署Flask网站+域名访问+免费https证书
5.python实现四种出行路线规划(公交、步行、驾车、骑行)
7.python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)