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

基于Python的深度網絡爬蟲的設計與實現

2018-07-05 03:51:04彭智鑫
信息記錄材料 2018年8期
關鍵詞:搜索引擎頁面數據庫

彭智鑫

(湖南城市學院 湖南 益陽 413002)

1 引言

通用搜索引擎已成為人們定位所需Web資源的利器,然而隨著Web技術的發展和人們對通用搜索引擎需求的精細化,通用搜索引擎已越來越不能滿足人們日常的搜索需要。當我們需要查詢一類特定的信息時,通用性搜索引擎并不能將信息進行集中化處理和展示,無法讓我們直觀的看到我們所需要的信息,利用網絡爬蟲用戶能快速精準的對互聯網中的海量數據進行提取和保存。通過定制爬蟲來實現我們對特定信息的搜索,自行設計要獲取的信息內容和特定的搜索范圍,能讓我們更加精確地獲取到信息。網絡爬蟲的優勢在于不需要用戶輪班值守,能自動化運行,自動判斷網頁數據的狀態,及時更新[1]。

2 爬蟲技術

網絡爬蟲是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。網絡爬蟲按照系統結構和實現技術大致可以分為以下幾種類型:

(1)通用型網絡爬蟲。此類爬蟲主要應用于搜索引擎,爬行范圍和數量巨大,對于爬行速度和存儲空間要求較高,具有較強的應用價值。

(2)聚焦型網絡爬蟲。選擇性地爬行預先定義好的需求信息,極大地節省了硬件和網絡資源,滿足特定人員的特定需求。

(3)增量型網絡爬蟲。只在產生新的頁面或者頁面發生變化時才會進行爬行工作,有效減少數據下載量,減小時間和空間上的耗費。

(4)深度網絡爬蟲。需要注冊登錄或是提交相應表單才能獲取web頁面爬行數據[2]。

3 正則表達式

正則表達式是由一系列特殊字符和普通字符組成的字符集合,其中每個特殊字符都被稱為元字符,這些元字符并不表示它們字面上的含義,而會被解釋為一些特定的含義。正則表達式語法簡單,功能強大,在日常的文本匹配、替換、解析中有很大的作用,掌握正則表達式的基本語法和用法,能大大提高了處理字符串和文本的效率。

4 Python語言

Python是高效率的完全面向對象的語言,能有效而簡單地實現面向對象編程。它的解釋性語言的本質,再加上其簡潔的語法和對動態輸入的支持,使得它在大多數操作系統平臺上都是一個較為理想的腳本語言,特別適用于快速的應用程序開發。Python提供了針對網絡協議的標準庫,能簡單高效地實現網頁抓取、網頁解析、數據存儲等功能,使程序員就可以集中精力處理程序邏輯。

5 手機報價爬蟲

本案例通過Python語言進行設計,采用深度網絡爬蟲和聚焦型網絡爬蟲相結合的程序,以本地某手機渠道商網站為例,通過網絡爬蟲對該網站的手機報價進行爬行,將提取到的數據保存到數據庫便于后續開發研究工作。本爬蟲主要的流程為訪問目標網頁、網頁解析、數據保存等,主要引用的第三方庫有requests、pytesseract、MySQLdb。

5.1 訪問目標網頁

爬蟲系統運行時,首要工作是訪問指定的URL,對當前頁面進行抓取。Python官方支持的基礎模塊中的urllib2庫,能完成網頁請求,cookie驗證,代理等功能;但是基于urllib庫開發的requests第三方庫,使用起來更加人性化和簡潔。

5.2 模擬登錄

深度網絡爬蟲需要注冊登錄或是提交相應表單才能獲取web頁面爬行數據。它首先需要解決登錄的安全控件問題和驗證碼問題,才能根據請求方式,進行登錄[3]。

(1)安全控件問題

通過對原網頁的分析,想要獲取相關的報價數據,需要登錄該網頁的賬號才能看到相關的信息,所以模擬人為的登錄成為了爬蟲設計的關鍵性步驟。原網頁在登錄過程中需要安裝相關安全控件才能進行登錄操作,但是通過手機端登錄,進入移動端網頁是不要安裝安全控件的。通過模擬手機端的UA標識,讓服務器判定為來自手機的訪問請求,從而達到繞過安全控件進行登錄。

#模擬手機端UA標識

headers={

'User-Agent':'Mozilla/5.0(iPhone;CPUiPhoneOS9_1likeMacOSX)AppleWebKit/601.1.46(KHTML,likeGecko)Ver sion/9.0Mobile/13B143Safari/601.1'

(2)驗證碼問題

為了保證網站的安全性,在登錄過程中加入了驗證碼,通過對驗證碼的分析,發現大多數網頁的驗證碼為簡易數字,通過OCR軟件一樣能進行很準確的識別,谷歌的Tesseract-OCR對Python有很好的兼容性,可以安裝pytesseract第三方庫進行調用完成驗證碼的識別,完全符合爬蟲模擬登錄的需求。

#打開保存的驗證碼圖片

image=Image.open("code.jpg")

#調用pytesseract進行驗證碼識別

code=pytesseract.image_to_string(image)

(3)請求方式

通過對原網頁登錄過程中的狀態分析,網頁采用POST的請求方式進行數據交互,通過瀏覽器的審查工具,網頁登錄過程中需要的參數有dhhm、pwd、sign,phhm為登錄的賬戶名,pwd為登錄的密碼,sign為登錄的驗證碼,將這三個參數打包后封裝。

#封裝請求參數

data={"dhhm":"username","pwd":"password","sign":code}

(4)模擬登錄

通過requests第三方庫可以很方便地進行模擬登錄。

#調用requests進行模擬登錄

response=requests.post(url,data=data,headers=he aders)

5.3 網頁解析器

網頁解析器是對網頁內容中進行數據分析的工具。Python支持的網頁解析器可以利用正則表達式可以將整個網頁文檔當成一個字符串,使用模糊匹配的方式來提取出有價值的數據。Python的re模塊使Python語言擁有全部的正則表達式功能,通過正則表達式將符合要求的數據進行提取,將我們需要的報價數據準確的提取出來[4]。

#通過正則表達式提取報價信息

bj=re.compile('addCart(.*?)">購買')

bj=re.findall(bj,iphone)

5.4 保存數據

Python可以將正則表達式獲取到的信息通過引入相關數據庫的第三方庫,本文通過MySQLdb庫創建數據庫連接,然后直接用SQL語句操作數據庫,將信息導出至數據庫,方便各種應用程序的后續開發。

#設定數據庫連接信息

db=MySQLdb.connect("127.0.0.1","root","123456","sjbj",charset='utf8')

#使用cursor()方法獲取操作游標

cursor=db.cursor()

#創建數據表

sql="""CREATETABLEiphone(

id_1 VARCHAR(255) NOTNULL,

id_2 VARCHAR(255),

sjxh TEXT,

根據抽水孔結構,建立本次抽水試驗的抽水井模型:井徑r=0.11 m,水位埋深h=10.20 m,含水層厚度H=34.9 m,井流為無壓井流。

price DOUBLE(10,2),

id_3 VARCHAR(255)

)"""

cursor.execute(sql)

#插入數據

sql="insert into iphone(id_1,id_2,sjxh,price,id_3)

cursor.execute(sql)

#關閉數據庫連接

db.close()

6 實驗結果

運行網絡爬蟲程序,程序運行2.4s,成功抓取數據255條,部分爬行結果如表1所示。

表1

7 結語

在當今數據大爆發的時代,通過爬蟲快速的從互聯網中爬行所需要的信息顯得格外重要。Python在爬蟲應用中充當了重要的角色,豐富的第三方庫讓開發變得簡單易用。實例證明應用Python語言可以方便地實現深度網絡爬蟲和聚焦型網絡爬蟲相結合的爬蟲程序,將網絡中的大數據進行整合,讓大數據更方便的服務于其他應用程序。

[1]周立柱,林玲.聚焦爬蟲技術研究綜述[J].計算機應用,2005(09):1965-1969.

[2]劉石磊.對反爬蟲網站的應對策略[J].電腦知識與技術,2017,13(15):19-21+23.

[3]胡軍偉,秦奕青,張偉.正則表達式在Web信息抽取中的應用[J].北京信息科技大學學報(自然科學版),2011,26(06):86-89.

猜你喜歡
搜索引擎頁面數據庫
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
網絡搜索引擎亟待規范
中國衛生(2015年12期)2015-11-10 05:13:38
基于Nutch的醫療搜索引擎的研究與開發
廣告主與搜索引擎的雙向博弈分析
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 国产精品3p视频| 青青操国产视频| 亚洲无码日韩一区| a级毛片免费网站| 免费国产一级 片内射老| 亚洲精品中文字幕无乱码| 亚洲国产理论片在线播放| 午夜激情福利视频| 国产经典免费播放视频| 最新国产精品鲁鲁免费视频| 国产va在线观看免费| 亚洲欧美成人影院| 国产香蕉97碰碰视频VA碰碰看| 日韩一级二级三级| 综合色天天| 99精品伊人久久久大香线蕉 | 呦女亚洲一区精品| 99视频全部免费| 国产女人在线视频| 老熟妇喷水一区二区三区| 97国产在线观看| 日本在线免费网站| 国产91透明丝袜美腿在线| 小蝌蚪亚洲精品国产| 午夜精品久久久久久久无码软件| 麻豆精品国产自产在线| 这里只有精品在线播放| 亚洲午夜福利在线| 亚洲日韩精品欧美中文字幕| 91无码人妻精品一区| 男女男精品视频| 亚洲无码37.| 午夜性刺激在线观看免费| 国产精品区网红主播在线观看| 在线欧美日韩国产| 亚洲男人在线| 午夜福利视频一区| 亚洲色图综合在线| 成人日韩欧美| 日本精品αv中文字幕| 中文字幕资源站| 国产区在线看| 最新亚洲人成网站在线观看| 99热最新网址| 久久国产高清视频| 99在线观看精品视频| 精品综合久久久久久97超人该| 九九久久精品免费观看| 欧美专区日韩专区| 亚洲福利一区二区三区| 国禁国产you女视频网站| 国产91麻豆视频| 国产成人综合日韩精品无码首页| 天天色天天综合| 91精品啪在线观看国产91| a级毛片在线免费观看| 黄色网在线| 色欲国产一区二区日韩欧美| 国产成人精品高清在线| 成人午夜视频免费看欧美| 玖玖精品视频在线观看| 久久国语对白| 久草青青在线视频| 亚洲精品国产自在现线最新| 欧美69视频在线| 欧美在线视频a| 亚洲精品无码不卡在线播放| 亚洲成年人网| AV不卡国产在线观看| 不卡午夜视频| 国产精品主播| 国产欧美专区在线观看| 亚洲男人的天堂在线观看| 成人福利视频网| 欧美精品另类| 精品视频福利| 亚洲无码视频一区二区三区| 欧美三级自拍| 中文字幕有乳无码| 欧美v在线| 久久久噜噜噜久久中文字幕色伊伊| 欧美成人综合视频|