999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Selenium的網絡爬蟲的設計與實現

2021-11-02 06:03:26忽愛平范伊紅
無線互聯科技 2021年17期
關鍵詞:頁面

忽愛平,范伊紅,李 陽,李 坤

(河南科技大學 軟件學院,河南 洛陽 471000)

0 引言

隨著爬蟲技術的不斷發展,許多網站運用了反爬蟲技術對數據進行加密,致使爬取數據時遇到的問題越來越多。例如,某著名文檔網站,經過解析后發現,其文檔是由圖片組成,而圖片代碼并不是直接寫在平時開發人員使用的標簽中,而是通過HTML5的canvas元素使用JavaScript在網頁上繪制圖像[1]。這大大阻礙了圖片的爬取。本文運用Python爬蟲技術加Selenium技術爬取該網站的文檔圖片,將canvas畫布中的圖像進行解析,成功將該網站中的文檔圖片爬取了出來。

1 項目有關介紹

1.1 Selenium技術簡介

Selenium是一個Web應用程序測試的工具,起初是為了網站自動化測試而開發的,作用是模擬用戶在瀏覽器上的操作。Selenium可以直接運行在瀏覽器上,它支持所有主流的瀏覽器,包括PhantomJS這些無界面的瀏覽器,可謂作用之廣泛。Selenium可以根據用戶的指令,指導瀏覽器自動加載頁面,獲取需要的數據,甚至于網頁截屏、監聽網站動作等等。Selenium自己不帶瀏覽器,不支持瀏覽器的功能,它需要與第三方瀏覽器結合在一起才能使用。

1.2 標簽

HTML5中的新標簽,通過JavaScript腳本完成圖形的繪制。用戶可以通過多種方法使用canvas繪制路徑、盒、圓、字符以及添加圖像。

2 案例實現

本文以某文檔網站為案例,用自動化測試Selenium體驗一下爬取流程。

2.1 抓包分析,明確爬取思路

首先,打開某文檔網站的頁面進行抓包分析。其次,通過分析發現,頁面中的數據帶有加密混淆,所以傳統的爬蟲思路在此站點行不通。遇到這種情況,一般有兩種解決方案:第一種是通過使用JavaScript逆向技術找到站點的加密邏輯,并用Python代碼將其加密邏輯模擬構造出來。第二種是通過Selenium自動化測試工具來模擬瀏覽器,直接獲取頁面源碼。此處采用的是第二種方案。當獲取源碼之后,就會發現頁面源碼中并沒有想要的圖片鏈接信息,而想要的圖片信息就蘊藏在標簽中,可以通過編寫一段JavaScript代碼來獲取標簽中的圖片信息。最后,將所有的文檔圖片轉換成PDF并拼接到一起。具體的流程如下。

2.2 程序的基本配置

使用logging對日志輸出進行相關配置,方便觀察程序的執行狀況。變量TIME_OUT表示超時時間,options中是對瀏覽器的相關配置,例如:下載圖片是默認不顯示彈框,圖片下載后的默認保存路徑,設置瀏覽器的無頭模式等;browser用來接收一個Chrome對象,并將options作為參數設置給該瀏覽器對象。瀏覽器打開頁面后,頁面要進行加載,wait定義了瀏覽器的顯示等待時間。代碼如下:

2.3 頁面加載

通過觀察發現,每個文檔頁面并不是一開始就全部加載出來,而是通過用戶滾動右側的滾動條來加載后續的頁面信息。所以圖片進行下載之前要用Selenium來模擬用戶的滾動效果,以確保將頁面的所有信息都加載出來。此處,可以使用JavaScript代碼來控制瀏覽器的滑動操作,這段代碼描述的含義是通過js中的間隔器,每隔一秒將滾動條下滑整個文檔高度的10%,直至頁面全部加載完畢。最后,使用browser對象的execute_script方法將JavaScript代碼執行即可。代碼如下:

2.4 圖片下載

當頁面全部加載完畢,就可以開始下載響應的文檔圖片信息了。首先,需要獲取到所有的canvas元素對象。在HTML5標準中,標簽的新屬性download可以用來指明下載文件的名稱。所以每處理一個canvas對象都需要創建一個元素,將圖片名稱賦值給的download屬性,使用URL.createObjectURL(Objparam)方法將canvas中的內容生成為指定格式的URL并將其賦值給的href屬性。最后,調用click()方法可模擬點擊操作,這樣瀏覽器自動下載所有的圖片[2]。部分代碼如下:

2.5 文檔格式的轉換

圖片下載過后,要將其進行PDF格式轉換,最終生成一篇格式完整的文檔。這里使用的第三方庫是fpdf和PIL。將所有的圖片處理程序定義成一個方法,在圖片下載完成后進行調用即可。

3 結語

隨著互聯網的飛速發展,越來越多的網站通過對數據加密來防止數據被非法用戶直接爬取。而通過Selenium技術則可以在避免過多檢測的情況下向服務器發起正常請求獲取數據,節省了大量分析代碼的時間[3]。本文以某文檔網站為例,設計了一段爬取標簽中的圖片信息的程序,希望對大家有所幫助。

猜你喜歡
頁面
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
在本機中輕松完成常見PDF操作
電腦愛好者(2022年3期)2022-05-30 10:48:04
移動頁面設計:為老人做設計
工業設計(2016年1期)2016-05-04 03:58:09
Web安全問答(3)
通信技術(2012年4期)2012-02-15 07:10:35
同一Word文檔 縱橫頁面并存
網站結構在SEO中的研究與應用
幾種頁面置換算法的基本原理及實現方法
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 国产精品入口麻豆| 亚洲男女天堂| 国产肉感大码AV无码| 亚洲综合色婷婷| 国产亚洲日韩av在线| 午夜福利视频一区| 亚洲91在线精品| 国产又爽又黄无遮挡免费观看| 精品无码视频在线观看| 在线看免费无码av天堂的| 亚洲三级成人| 欧美、日韩、国产综合一区| 1024国产在线| 国产女人爽到高潮的免费视频 | 欧美国产三级| 国产精品福利一区二区久久| 亚洲嫩模喷白浆| 国产高清国内精品福利| 国产在线精彩视频论坛| 精品国产香蕉在线播出| 无码国内精品人妻少妇蜜桃视频| 91青青视频| 91精品国产丝袜| 美女被躁出白浆视频播放| 国产精品免费福利久久播放 | 日日拍夜夜嗷嗷叫国产| 免费毛片网站在线观看| 日韩在线中文| 欧美成人影院亚洲综合图| 二级特黄绝大片免费视频大片| 国产黑丝一区| 亚洲欧美日韩另类在线一| 真实国产乱子伦视频| 欧美色香蕉| 少妇极品熟妇人妻专区视频| 国产va欧美va在线观看| 精品三级在线| 日韩在线播放中文字幕| 国产第一福利影院| 久久久久九九精品影院| 欧美成人综合在线| 亚洲天堂网站在线| 69综合网| 国产成人久久综合一区| a毛片在线| 尤物视频一区| 欧美另类精品一区二区三区| 国产一国产一有一级毛片视频| 欧美亚洲一区二区三区导航| 日韩精品一区二区三区中文无码| 日本黄网在线观看| 久久黄色一级视频| 免费三A级毛片视频| 国产一二视频| 国产美女自慰在线观看| 黄色片中文字幕| 伊人久久大香线蕉综合影视| 国产成a人片在线播放| 欧美综合区自拍亚洲综合天堂| 中文成人在线| www.亚洲一区| 精品国产黑色丝袜高跟鞋| 成人精品区| 亚洲成人网在线观看| 四虎精品国产永久在线观看| 国产成人永久免费视频| 午夜国产在线观看| 久久a级片| 色精品视频| 青草视频在线观看国产| 一级全黄毛片| 热re99久久精品国99热| 亚洲一区二区约美女探花| 国产中文在线亚洲精品官网| 亚洲第一成网站| 毛片视频网址| 91精品久久久无码中文字幕vr| 91欧美亚洲国产五月天| 99re在线视频观看| 在线a网站| 国内a级毛片| 久久综合伊人77777|