騰訊動漫爬蟲與動態隨機載入反爬
在學習了selenium後,就想試試爬一爬動漫,在微信社群裡又看到一個騰訊動漫爬蟲與動態隨機載入反爬破解實戰的文章,就試著跑了一下,還可以。用到了PhantomJS自動觸發漫畫圖片以及js(window.scrollTo()實現頁面滑動,自動觸發觸剩下的多張漫畫圖片),最後用urllib提取並儲存本地。
話不多說,上程式碼,重點已做註釋:
#--*-- coding:utf-8 --*-- from selenium import webdriver import time from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import re import urllib.request import warnings warnings.filterwarnings("ignore") #基於PhantomJS建立一個瀏覽器,並且設定一下使用者代理,否則可能出現介面不相容的情況 dcap=dict(DesiredCapabilities.PHANTOMJS) dcap["phantomjs.page.settings.userAgent"]=("Mozilla/5.0(Windows NT 6.1;Win64;x64)") browser=webdriver.PhantomJS(desired_capabilities=dcap) #通過PhantomJS開啟相關動漫網頁,將相關動漫圖片地址觸發出來 #開啟動漫的第一頁 browser.get('http://ac.qq.com/ComicView/index/id/539443/cid/1') for i in range(10): js='window.scrollTo('+str(i*1280)+','+str((i+1)*1280)+')' #把內容滾動到指定的座標 browser.execute_script(js) time.sleep(1) #將開啟的介面截圖儲存,方便觀察 a=browser.get_screenshot_as_file(r'C:\Users\yyduan\Desktop\test.jpg') #獲取當前頁面所有原始碼(此時包含出發出來的非同步載入的資源) data=browser.page_source #將相關網頁原始碼寫入本地檔案中,方便分析 fh=open(r'C:\Users\yyduan\Desktop\dongman.html','w',encoding='utf-8') fh.write(data) fh.close() browser.quit() #構造正規表示式提取動漫圖片資源網址 pat='<img src="(http://ac.tc.qq.com.store_file_download.buid=.*?name=.*?).jpg"' #獲取所有動漫圖片資源網站 allid=re.compile(pat).findall(data) for i in range(0,len(allid)): #得到當前網址 thisurl=allid[i] #去除網址中的多餘元素amp #thisurl2=thisurl.replace("amp;","")+".jpg" #輸出當前爬取的網址 print(thisurl2) #設定將動漫儲存到本地目錄 localpath='C:/Users/yyduan/Desktop/dongman/'+str(i)+'.jpg' #通過urllib對動漫圖片資源進行爬取 urllib.request.urlretrieve(thisurl2,filename=localpath)
相關文章
- 「資料分析」2種常見的反爬蟲策略,資訊驗證和動態反爬蟲爬蟲
- 反-反爬蟲:用幾行程式碼寫出和人類一樣的動態爬蟲爬蟲行程
- Python《成功破解簡單的 動態載入 的爬蟲》Python爬蟲
- 反爬蟲之字型反爬蟲爬蟲
- 爬蟲與反爬蟲技術簡介爬蟲
- Python爬蟲入門教程 61-100 寫個爬蟲碰到反爬了,動手破壞它!Python爬蟲
- Python爬蟲遞迴呼叫爬取動漫美女圖片Python爬蟲遞迴
- C#爬蟲與反爬蟲--字型加密篇C#爬蟲加密
- Python爬取動態載入的視訊(梨視訊,xpath)Python
- 限制IP到全流程防控,講解網路爬蟲與技術反爬的動態攻防爬蟲
- 爬蟲Selenium+PhantomJS爬取動態網站圖片資訊(Python)爬蟲JS網站Python
- 爬蟲與反爬:一場無休止之戰爬蟲
- nodeJS 爬蟲,通過Puppeteer實現滾動載入NodeJS爬蟲
- Python爬蟲隨機UserAgent庫,讓你不再手動敲UA!Python爬蟲隨機
- python 爬蟲如何爬取動態生成的網頁內容Python爬蟲網頁
- Python爬蟲爬取B站up主所有動態內容Python爬蟲
- python爬蟲之反爬蟲(隨機user-agent,獲取代理ip,檢測代理ip可用性)Python爬蟲隨機
- 反爬與反反爬
- 通用爬蟲與聚焦爬蟲爬蟲
- 如何用python爬蟲分析動態網頁的商品資訊?Python爬蟲網頁
- 我去!爬蟲遇到字型反爬,哭了爬蟲
- 用Python網路爬蟲獲取Mikan動漫資源Python爬蟲
- python爬蟲抓取哈爾濱天氣資訊(靜態爬蟲)Python爬蟲
- Python 從零開始爬蟲(六)——動態爬取解決方案 之 手動分析Python爬蟲
- Python爬蟲怎麼設定動態IP代理,Python爬蟲要注意哪些事項?Python爬蟲
- Python爬蟲入門教程 50-100 Python3爬蟲爬取VIP視訊-Python爬蟲6操作Python爬蟲
- python愛奇藝VIP視訊爬蟲爬取下載Python爬蟲
- 2個月精通Python爬蟲——3大爬蟲框架+6場實戰+反爬蟲技巧+分散式爬蟲Python爬蟲框架分散式
- 獲取爬蟲動態IP的三種方法爬蟲
- 爬蟲動態http代理ip有什麼功能爬蟲HTTP
- Python爬蟲動態ip代理防止被封的方法Python爬蟲
- Python爬蟲 - 記一次字型反爬Python爬蟲
- 反爬蟲應對策略爬蟲
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- python爬蟲總是爬不到資料,你需要解決反爬蟲了Python爬蟲
- 58同城 反爬蟲機制及處理爬蟲
- 對於反爬蟲偽裝瀏覽器進行爬蟲爬蟲瀏覽器
- 防止爬蟲被反爬的幾個主要策略爬蟲