逄菲
摘要
現(xiàn)在人們和網(wǎng)絡有著密不可分的聯(lián)系,人們從網(wǎng)絡上可以獲取豐富的信息。但是存在用戶很難在大量信息中準確挖掘自身需要信息的情況,因此如何從網(wǎng)絡上豐富的信息中找到自己最需要的信息是用戶很重視的一個問題。網(wǎng)絡爬蟲是一項能夠自動對信息進行提取篩選的程序,但是其中也存在著一些爬蟲系統(tǒng)收集信息效率低、沒有良好的擴展性能等問題,網(wǎng)頁數(shù)據(jù)爬取效率和數(shù)據(jù)選擇的速度是當前爬蟲系統(tǒng)需要優(yōu)化的幾個方面。根據(jù)當前網(wǎng)絡信息特點,本文將會對Python的分布式網(wǎng)絡爬蟲系統(tǒng)的設計和實現(xiàn)做出簡介,并且將此作為對傳統(tǒng)文件共享形式的一種補充,也是一種新的嘗試。
【關鍵詞】Python 分布式網(wǎng)絡 爬蟲系統(tǒng)
大數(shù)據(jù)時代下,信息的傳播和分享是人們交流和交往最需要的,信息的傳播和分享能夠有效的創(chuàng)造效益。在信息發(fā)達的今天,每條信息和其背后所牽扯到的東西都是大數(shù)據(jù)所組成的部分。因此,人們對信息的分享和傳播越來越重視,在人們對傳播的信息進行提取時,對消息是否有效十分關注。在平時的生活和工作中,通過組建一個安全、開放、智能的系統(tǒng)進行信息分享,對完成工作的效率有很大的提高,還一定程度節(jié)約了工作成本。
1 爬蟲技術簡介
網(wǎng)絡蜘蛛是網(wǎng)絡爬蟲的另一個說法,這是一個可以對網(wǎng)頁信息進行提取的程序,可以模仿游覽器查詢網(wǎng)絡資料,給出用戶所需要的信息,并且它還是搜索引擎的重要組成部分,可以進行網(wǎng)頁信息下載。
網(wǎng)絡爬蟲可以分為通用性爬蟲、聚焦性爬蟲、增量型爬蟲、深層爬蟲,通用性的爬蟲就是全網(wǎng)爬蟲,其特點是對儲存量的要求十分的高,還要求具有很快的存儲速度;聚焦性爬蟲指的就是對某一方面進行專注的爬蟲,根據(jù)所給的關鍵詞進行固定的信息搜索;增量型爬蟲則是間隔性的信息收集,一定的時間過后重新爬取進行數(shù)據(jù)的更新;深層爬蟲通過登錄提交數(shù)據(jù),之后才能進入頁面提取信息。利用網(wǎng)絡爬蟲用戶可以對網(wǎng)絡中的一些信息進行快速的保存。例如在進行對圖片的保存時,如果需要保存的圖片量比較大,那么操作起來就不是很容易,利用網(wǎng)絡爬蟲來進行操作就可以減輕工作量,進行自動化的處理,從而使得圖片的保存快速高效。并且爬蟲還可以獲得很多的額外知識,對決策等提供相關的依據(jù)。
2 Python介紹
Python語言屬于語法比較簡潔清晰的開源編程式語言,最具特色的就是其用whitespace作為語句的縮進。Python具有標準庫和第三方庫,每一個內(nèi)容都十分的豐富。膠水語言是對它最形象的稱呼,因為它可以很快的和其他的語言制作模塊聯(lián)合在一起,對信息的擴展有著促進作用。使用Python快速生成程序原型或者程序的最終界面是Python最常見的一種應用,然后通過利用更合適的語言將其中有特別要求的部分進行修改。在進行Python語言使用之前,需要搭建一個穩(wěn)定的環(huán)境。到正規(guī)的官網(wǎng)去進行Python的下載,并且要下載用戶所需要的特定系統(tǒng),安裝完成后對環(huán)境變量做好處理,方便Python的正常啟動。用戶還可以根據(jù)自己的喜愛選擇一款適宜的編輯工具來進行爬蟲的編寫。目前Python的版本主要有兩個,其主要在模塊、運行、編碼、語言上存在著差距。利用Python爬蟲主要有一下這些有點:第一是其語言簡單明了,操作方法簡單;第二是Python程序能夠提供功能極其強大的爬蟲框架結構;還有一點則是其具有良好的網(wǎng)頁解析器還有強大的網(wǎng)絡支持庫。
3 爬蟲的案例
本文將通過實質性的爬蟲案例進行介紹,案例當中是一個常見的聚焦性爬蟲程序,將用戶需要的信息歸納到文件中。該爬蟲功能是對互聯(lián)網(wǎng)上關于互聯(lián)網(wǎng)職位信息的收集爬取,對招聘信息也加以保存在文檔中。
3.1 解決爬蟲的三大問題
爬蟲三大問題包括where what how,確定好爬的位置,抓準爬取的頁面,對于這個問題的解決則需要通過對用戶的需求進行分析再決定,爬什么則是根據(jù)上面的頁面進行分析,確定需要的數(shù)據(jù),將其中的信息提取出來,對于怎么對信息進行提取的問題,則是需要使用Python具有豐富資源的標準庫和強大的第三方庫完成,怎樣爬是爬蟲的核心部分,特別是其中的對網(wǎng)頁的解析,可以使用1xml、正則表達式等進行網(wǎng)頁解析,不同的方法都有著自己的優(yōu)點,使用時則需要根據(jù)用戶的熟練度還有需要進行合適方法的選擇。
3.2 具體實施
此爬蟲操作系統(tǒng)主要包括三個模塊,分別是數(shù)據(jù)存儲模塊、頁面抓取模塊、頁面分析模塊,這三個模塊互相協(xié)助,一起完成對網(wǎng)絡信息數(shù)據(jù)的收集和抓取。
此爬蟲案例的主要操作則是首先打開某個信息網(wǎng)招聘網(wǎng)頁,爬蟲操作中主要處理的對象就是此網(wǎng)站的URL,打開互聯(lián)網(wǎng)的職位頁面對其網(wǎng)頁的源代碼進行分析,將其復制。例如頁面的公司信息、招聘要求、薪資待遇等進行分析。然后要確定好爬蟲的方法,導入程序中所需要的庫當中去。向終端服務器發(fā)出請求,打開對應的網(wǎng)頁,對整個爬蟲過程中所需要的庫都導入。圖1是一些代碼和相關的注釋。
對于爬取的結果需要做到及時的整理。爬蟲將資料從網(wǎng)頁當中提取出來后,對于數(shù)據(jù)也需要進行保存,Python提供的保存數(shù)據(jù)的方法有:保存到本地的數(shù)據(jù)庫當中,或者保存到儲存的磁盤當中。該爬蟲對于招聘信息進行本地保存的時候需要將文件的格式存為ALS文件。
3.2 改進和完善
上面所講到的爬蟲操作只能對網(wǎng)頁上的首要位置的招聘信息進行爬取,如果想要對所有的信息進行爬取,則需要對網(wǎng)頁URL地址規(guī)律進行分析,并且使用for循環(huán)進行對信息的循環(huán)提取,最后則進行分析比較。
4 結語
在現(xiàn)今的大數(shù)據(jù)時代下,用戶對數(shù)據(jù)信息的需求量越來越大,對相關數(shù)據(jù)進行有效的分析并且還可以提供有力的依據(jù)給所要進行的決策。爬蟲技術的應用有很多,對于網(wǎng)絡輿情的分析還有網(wǎng)絡犯罪線索的發(fā)現(xiàn)都可以使用爬蟲技術去操作,其應用前景十分廣泛。
參考文獻
[1]劉澤華,趙文琦,張楠.基于Scrapy技術的分布式爬蟲的設計與優(yōu)化[J].信息技術與信息化,2018(Z1):121-126.
[2]高強.基于Redis的分布式爬蟲框架的設計[J].農(nóng)業(yè)網(wǎng)絡信息,2017(08):12-14.
[3]孟軍,覃??瑒?,甘宇健.分布式網(wǎng)絡爬蟲設計研究[J].現(xiàn)代計算機(專業(yè)版),2017(24):62-65.
[4]孫藝乘,張建敏.大數(shù)據(jù)數(shù)字媒體時代網(wǎng)絡爬蟲技術下的精準招商[J].貴州大學學報(自然科學版),2017,34(02):80-84.