教你解決禁止F12、調試Debugger、丑化JS等反爬


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.本文總結了幾種反爬情況,推薦收藏!收藏!收藏!

最后說一聲:原創不易,求給個贊、在看、評論

------------- 推薦閱讀 -------------

爬蟲入門篇

1.今天只分享python、爬蟲入門級學習資料

2.以某乎為實戰案例,教你用Python爬取手機App數據


3.教你用python爬取『京東』商品數據,原來這么簡單!

4.以『贅婿』為實戰案例,手把手教會你用python爬取『愛奇藝』視頻彈幕


5.python爬取44130條用戶觀影數據,分析挖掘用戶與電影之間的隱藏信息!


6.基金這么賺錢!!編程實現基金從采集到分析通用模板!(白酒為例)


7.我爬取了爬蟲崗位薪資,分析后發現爬蟲真香


8.竟然如此簡單!輸入明星名字就可以直接爬取高清圖片


9.pyhton爬取愛豆(李易峰)微博評論(附源碼)


10.快手解析視頻真實鏈接(爬取快手視頻)


11.實戰講解四種不同爬蟲解析數據方法,必須掌握!

爬蟲框架篇

1.以『B站』為實戰案例!手把手教你掌握爬蟲必備框架『Scrapy』

2.爬取1907條『課程學習』數據,分析哪類學習資源最受大學生青睞

爬蟲反爬篇

1.爬蟲遇到反爬機制怎么辦? 看看我是如何解決的!


2.python實戰破解『梨視頻』反爬機制,輕松實現批量視頻下載!


3.『異步反爬』別再說自己不會爬取『抖音』視頻了!

可視化篇

1.爬取3w條『各種品牌』筆記本電腦數據,統計分析並進行可視化展示!真好看~


2.python爬取7w+『贅婿』彈幕,發現彈幕比劇還精彩!


3.爬取1907條『課程學習』數據,分析哪類學習資源最受大學生青睞


4.python爬取各類基金數據,以『動圖可視化』方式展示基金的漲跌情況


5.python爬取『大年初一』熱映電影,以『可視化及詞雲秀』方式帶你了解熱映電影


6.python爬取淘寶全部『螺螄粉』數據,看看你真的了解螺螄粉嗎?


7.爬取淘寶熱賣商品並可視化分析,看看大家都喜歡買什么!


8.王者榮耀白晶晶皮膚1小時銷量突破千萬!分析網友評論我發現了原因


9.分析各類基金近一年『日漲幅』流水線動態圖!哭了,真是跌媽不認!


10.分析B站《送你一朵小紅花》彈幕評論


11.我爬取了爬蟲崗位薪資,分析后發現爬蟲真香


12.python實現在線微博數據可視化


13.一鍵查詢明星個人信息,並以知識圖譜可視化展示

python工具篇

1.教你用python爬蟲下載1w+『ppt模板』,再也不用付費去購買啦!


2.python爬取下載m3u8加密視頻,原來這么簡單!


3.詳細實戰教程!部署Flask網站+域名訪問+免費https證書

4.花一天時間做了一個福利資源網站!免費分享給大家

5.python實現四種出行路線規划(公交、步行、駕車、騎行)


6.35行代碼下載任意網頁的圖片


7.python竊取攝像頭照片(攝像頭拍照+郵箱發送+打包exe)


8.30行爬蟲代碼實現中英互譯


9.教你搭建一個花卉識別系統(超級簡單)


10.一鍵查詢明星個人信息,並以知識圖譜可視化展示


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM