胡少宇 劉志民 董科

摘要??? 大數(shù)據(jù)時(shí)代如何有效的獲取網(wǎng)絡(luò)中的數(shù)據(jù),并有效的應(yīng)用數(shù)據(jù)成為人們關(guān)注的重點(diǎn),在精準(zhǔn)招商的過程中,利用網(wǎng)絡(luò)爬取技術(shù)獲取企業(yè)的有效信息,能夠提高招商的效率,通過對網(wǎng)絡(luò)爬蟲技術(shù)在精準(zhǔn)招商中的應(yīng)用情況進(jìn)行分析,探討了基于Python語言的網(wǎng)絡(luò)爬蟲技術(shù),為獲取精準(zhǔn)招商數(shù)據(jù)提供了新的方法與途徑。
【關(guān)鍵詞】大數(shù)據(jù) 網(wǎng)絡(luò)爬蟲 精準(zhǔn)招商
在大數(shù)據(jù)時(shí)代,如何有效的獲取有用的信息,成為人們關(guān)注的重點(diǎn)問題,采用傳統(tǒng)的搜索引擎技術(shù)來獲取信息時(shí),往往會將一些無關(guān)的網(wǎng)頁或者數(shù)據(jù)搜索出來,這種搜索方法已經(jīng)明顯的不能滿足用戶的需求,在有限的網(wǎng)絡(luò)服務(wù)器資源的情況下,如果高效的獲取有效的信息,解決信息不對稱的問題成為關(guān)鍵技術(shù)之一,網(wǎng)絡(luò)爬蟲技術(shù)是一種基于網(wǎng)絡(luò)的智能化的搜索引擎,通過運(yùn)用合理的編寫代碼,用戶就可以準(zhǔn)確的獲取需求的信息。在政府進(jìn)行招商引資時(shí),如何快速的獲取招商信息,利用網(wǎng)絡(luò)爬蟲技術(shù)可以有效的解決這一問題。
1 網(wǎng)絡(luò)爬蟲技術(shù)在精準(zhǔn)招商中的應(yīng)用
政府在招商引資的過程中,需要對商家的注冊信息、經(jīng)營范圍、注冊資金、服務(wù)模式、聯(lián)系方式等相關(guān)的信息進(jìn)行掌握,如果政府只是采用傳統(tǒng)的搜索引擎方式進(jìn)行搜索數(shù)據(jù),這必然活會浪費(fèi)大量的時(shí)間,獲取的信息還不一定精準(zhǔn)。在沃爾瑪公司的官網(wǎng)上采用了其自行設(shè)計(jì)的Polaris搜索引擎技術(shù),就是采用網(wǎng)絡(luò)爬蟲技術(shù)在龐大的數(shù)據(jù)基礎(chǔ)上,充分的運(yùn)用語義網(wǎng)分析、同義詞挖掘技術(shù)、機(jī)器學(xué)習(xí)等技術(shù),搜索用戶的核心關(guān)鍵數(shù)據(jù),實(shí)現(xiàn)用戶需求信息的精準(zhǔn)獲取,不僅能夠搜索到用戶的當(dāng)前信息,還能搜索到與用戶相關(guān)的信息。政府在招商引資的過程中,如果能夠在自己的數(shù)據(jù)庫基礎(chǔ)上,充分的利用網(wǎng)絡(luò)爬蟲技術(shù),可以有效的屏蔽無關(guān)企業(yè),查詢到合適的企業(yè),提高網(wǎng)絡(luò)招商信息的有效性,實(shí)現(xiàn)網(wǎng)絡(luò)爬蟲技術(shù)下的精準(zhǔn)招商,有利于提高政府招商的工作效率。
準(zhǔn)確完整地提取網(wǎng)頁中的主體信息,并能夠精準(zhǔn)對提取的信息進(jìn)行分析,網(wǎng)絡(luò)爬蟲技術(shù)是當(dāng)前Web應(yīng)用一項(xiàng)關(guān)鍵技術(shù),在信息搜索與提取中具有十分重要的作用。通過網(wǎng)絡(luò)爬蟲采集政府在招商過程中所需求的高質(zhì)量的精準(zhǔn)數(shù)據(jù),并生成相應(yīng)的招商企業(yè)數(shù)據(jù)庫,并將采集到搜索到企業(yè)信息的數(shù)據(jù)庫中,然后根據(jù)收集到的相應(yīng)信息,并建立相應(yīng)的數(shù)據(jù)表中,還可以根據(jù)政府的需要,實(shí)時(shí)的修改數(shù)據(jù)表,更新政府招商的信息數(shù)據(jù),或者根據(jù)招商的需求建立新的數(shù)據(jù)表,提高在數(shù)據(jù)獲取階段的精準(zhǔn)度,并與政府需求的數(shù)據(jù)信息進(jìn)行對比分析,對政府的招商模式進(jìn)行研判,進(jìn)而能夠有效的實(shí)現(xiàn)政府產(chǎn)業(yè)發(fā)展與招商投資的切入點(diǎn),進(jìn)而能夠有效的實(shí)現(xiàn)政府的精準(zhǔn)招商。
2 網(wǎng)絡(luò)爬蟲技術(shù)在精準(zhǔn)招商中運(yùn)用的關(guān)鍵技術(shù)
在精準(zhǔn)招商領(lǐng)域,基本的前提條件是獲取企業(yè)的信息,并對獲取的信息進(jìn)行分布式存儲,以便于利用爬蟲技術(shù)對數(shù)據(jù)進(jìn)行處理,然后采用爬蟲技術(shù)來獲取企業(yè)數(shù)據(jù)的URL數(shù)據(jù),最終能夠找到合適的數(shù)據(jù)表示方法,對爬取的數(shù)據(jù)進(jìn)行存儲與表示,分析在精準(zhǔn)招商過程中的所爬取的企業(yè)信息主題,是否符合政府招商引資的要求,同時(shí)分析下載的超鏈接與網(wǎng)頁內(nèi)容,然后通過對企業(yè)的URL數(shù)據(jù)抓取關(guān)聯(lián)度進(jìn)行分析,剔除內(nèi)容重復(fù)的網(wǎng)頁數(shù)據(jù),使得獲取更加真實(shí)、有效的政府招商數(shù)據(jù)信息。具體的爬取數(shù)據(jù)過程為先獲取下載網(wǎng)站的URL數(shù)據(jù),并通過DNS解析,對網(wǎng)頁下載處理,經(jīng)過對URL地址進(jìn)行過濾處理,然后按照一定的規(guī)則對網(wǎng)頁的中關(guān)鍵數(shù)據(jù)進(jìn)行獲取,進(jìn)而能夠獲得相應(yīng)的數(shù)據(jù),并保存在數(shù)據(jù)庫中。
2.1 網(wǎng)絡(luò)爬蟲的具體實(shí)施過程
2.1.1 企業(yè)網(wǎng)絡(luò)數(shù)據(jù)的處理
運(yùn)用網(wǎng)絡(luò)爬蟲技術(shù)對招商企業(yè)信息進(jìn)行處理時(shí),首先需要了解該企業(yè)的網(wǎng)站URL,才能獲取HTML頁面內(nèi)容,這樣可以后期的數(shù)據(jù)爬取提供方便,在數(shù)據(jù)爬取時(shí)需要采用正則表達(dá)式技術(shù)或者Xpath技術(shù),來提取頁面中的相似內(nèi)容,然后與政府招商信息進(jìn)行匹配,在該過程中,爬蟲技術(shù)主要以String為主的字符串部分與招商信息相關(guān)的內(nèi)容解析,來獲取與政府招商引資相關(guān)的企業(yè)信息,通過正則表達(dá)式技術(shù)或者Xpath技術(shù)對其進(jìn)行解析,獲得企業(yè)的相關(guān)信息。在爬取數(shù)據(jù)的過程中,Python有其自帶的re、heautifulsoup和HTMLParser等數(shù)據(jù)技術(shù),能夠很好的解決數(shù)據(jù)獲取的相關(guān)工作,在企業(yè)的URL信息進(jìn)行處理時(shí),一般URL會以a標(biāo)簽或者運(yùn)用href標(biāo)簽,對相關(guān)的URL地址進(jìn)行獲取,這時(shí),只需要采用正則的編制方案就可以有效的滿足要求。
2.1.2 剔除重復(fù)的數(shù)據(jù)信息
為了提高信息處理的效率,需要刪除獲取數(shù)據(jù)的重復(fù)鏈接(URL)地址,提高數(shù)據(jù)處理的效率。在采用爬蟲技術(shù)對網(wǎng)絡(luò)中的信息進(jìn)行獲取時(shí),采用URL技術(shù)隊(duì)列的方式對數(shù)據(jù)進(jìn)行爬取,以避免“爬取”重復(fù)的URL地址,不僅可以剔除重復(fù)信息,還能提高數(shù)據(jù)的爬取效率,也就是對網(wǎng)絡(luò)數(shù)據(jù)的URL進(jìn)行查重處理,以減少網(wǎng)絡(luò)存儲空間的浪費(fèi),這樣采用對企業(yè)的URL本地化存儲,有利于網(wǎng)絡(luò)爬取技術(shù)對企業(yè)的信息進(jìn)行處理。
2.1.3 有效解決爬取數(shù)據(jù)的并發(fā)問題
在數(shù)據(jù)進(jìn)行爬取的過程中,采用Python能夠有效的解決數(shù)據(jù)的多線程、多進(jìn)程與協(xié)程的問題,Python程序擁有良好的并發(fā)處理能力,在網(wǎng)絡(luò)爬取數(shù)據(jù)時(shí)的可靠性與準(zhǔn)確性能較好,能夠有效的處理數(shù)據(jù)并發(fā)問題。
2.1.4 解析企業(yè)數(shù)據(jù)的存儲
在利用網(wǎng)絡(luò)爬蟲爬取企業(yè)的數(shù)據(jù)之后,需要對數(shù)據(jù)信息進(jìn)行存儲,采用Python存儲數(shù)據(jù)時(shí),能夠減少與系統(tǒng)數(shù)據(jù)庫之間的直接操作,能夠提高系統(tǒng)的可操作性,這樣讀取多個(gè)URL數(shù)據(jù)信息進(jìn)行分量分批次的進(jìn)行存儲。
2.2 采用Python語言爬取數(shù)據(jù)
Python語言操作簡單方便,在網(wǎng)絡(luò)數(shù)據(jù)爬取中應(yīng)用十分廣泛,利用Python語言編寫程序爬取網(wǎng)絡(luò)數(shù)據(jù)十分簡潔方便,能夠方便的獲取爬取企業(yè)的數(shù)據(jù)信息。
2.2.1 建立招商企業(yè)的網(wǎng)頁數(shù)據(jù)模型一般情況下,對招商企業(yè)數(shù)據(jù)信息的獲
取,包括靜態(tài)數(shù)據(jù)與動態(tài)數(shù)據(jù),靜態(tài)數(shù)據(jù)的爬取比較簡單,在獲取動態(tài)數(shù)據(jù)時(shí),需要查看HTML數(shù)據(jù),選中相應(yīng)的文件才能夠進(jìn)行爬取,部分代碼如下:
Import re
Import urllib.request
def gethtml (url):
qiye=urllib.urlopen (url)
htm1=qiye.read( )
Return html
def getqiye(html):
reg=rsrc=”(.+?\.www\.qiye\.com)”
\Date=response.read( )
htmlstr=date.decode(‘qiye)
Print(htmlstr)
在獲取企業(yè)數(shù)據(jù)信息時(shí),采用Python自帶的urllib和re模塊,就可以有效的獲取的數(shù)據(jù)洗洗進(jìn)行定義、操作,通過urllib和re對企業(yè)的網(wǎng)站進(jìn)行遍歷,就業(yè)對每個(gè)頁面中的企業(yè)基本信息進(jìn)行獲取,并采用正則表達(dá)式從HTML的信息中獲取企業(yè)的數(shù)據(jù)信息。
2.2.2 數(shù)據(jù)爬取的基本流程
利用Python語言下的Scrapy框架,并結(jié)合String技術(shù)的字段處理功能,對政府精準(zhǔn)招商引資數(shù)據(jù)進(jìn)行處理,利用網(wǎng)絡(luò)爬蟲技術(shù),對URL提供的數(shù)據(jù)進(jìn)行爬取,它主要是采用是Twisted技術(shù),調(diào)用Scrapy中間件,爬取數(shù)據(jù)的過程清晰,便于操作,而且也便于對數(shù)據(jù)進(jìn)行處理。具體的數(shù)據(jù)的爬取流程為:首先通過下載器獲取相應(yīng)企業(yè)的網(wǎng)站,運(yùn)用調(diào)度器來調(diào)取中間件(request)獲取網(wǎng)頁數(shù)據(jù),然后通過(response)調(diào)取Scrapy中間件對網(wǎng)頁中的數(shù)據(jù)進(jìn)行爬取,獲取項(xiàng)目需求的數(shù)據(jù)信息。
(1)首先,打開需要處理的企業(yè)網(wǎng)站URL,讓網(wǎng)絡(luò)蜘蛛(Spider)對網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行爬取,進(jìn)而獲取相應(yīng)企業(yè)的URL網(wǎng)頁數(shù)據(jù),便于進(jìn)行分析。
(2)蜘蛛爬取待抓取的URL數(shù)據(jù),通過引擎以Request的形式來讀取相關(guān)的企業(yè)數(shù)據(jù)信息,并進(jìn)行處理,使得數(shù)據(jù)的獲取更加精準(zhǔn)。
(3)在爬取數(shù)據(jù)過程中,引擎向調(diào)度器請求下一個(gè)要爬取的企業(yè)網(wǎng)站URL,將對滿足具體要求的數(shù)據(jù)進(jìn)行爬取。
(4)數(shù)據(jù)調(diào)度處理。需要采用調(diào)用Scrapy中間件來抓取企業(yè)的URL的數(shù)據(jù)利用爬蟲技術(shù)來分析,然后通過引擎的調(diào)度將企業(yè)網(wǎng)絡(luò)URL地址轉(zhuǎn)發(fā)給下載器,由下載器獲取相應(yīng)的數(shù)據(jù)信息。
(5)在URL信息載入完成之后,Python下載器會生成一個(gè)與企業(yè)頁面相同的頁面,然后調(diào)用中間件Response,然后通過該Response將爬取的數(shù)據(jù)傳遞給Scrapy引擎,便于對數(shù)據(jù)進(jìn)行爬取。
(6)Scrapy引擎將獲取的數(shù)據(jù)通過Response發(fā)送給網(wǎng)絡(luò)蜘蛛,并政府精準(zhǔn)招商的數(shù)據(jù)進(jìn)行分析。
(7)網(wǎng)絡(luò)蜘蛛處理Response的信息并爬取數(shù)據(jù),然后將爬取的數(shù)據(jù)條目以及新生成的Request返回給Scrapy引擎,便于進(jìn)行下一步處理。
(8)Scrapy引擎將爬蟲爬取的數(shù)據(jù)內(nèi)容(items)發(fā)送給傳輸管道,并調(diào)用Request將爬取的數(shù)據(jù)發(fā)送給中間件,將獲取的數(shù)據(jù)保存在數(shù)據(jù)表中。
(9)重復(fù)第二步,獲取新的企業(yè)URL,循環(huán)直到?jīng)]有新的URL產(chǎn)生,完成整個(gè)爬取數(shù)據(jù)的處理,保證爬取的數(shù)據(jù),退出Scrapy引擎,這樣就完成了整個(gè)精準(zhǔn)招商數(shù)據(jù)的網(wǎng)絡(luò)爬取。
在對數(shù)據(jù)進(jìn)行爬取的過程中,有些網(wǎng)站服務(wù)器不希望被網(wǎng)絡(luò)爬蟲來獲取數(shù)據(jù),在采用urllib發(fā)送網(wǎng)絡(luò)數(shù)據(jù)請求時(shí),很容易被服務(wù)器拒絕,這時(shí)就需對urllib的發(fā)生數(shù)據(jù)請求進(jìn)行偽裝處理,偽裝的關(guān)鍵就是在urllib的數(shù)據(jù)請求頭中添加User-Agent字段,以達(dá)到獲取數(shù)據(jù)目的。
3 結(jié)束語
大數(shù)據(jù)已經(jīng)融入了人們生活中的方方面面,通過對網(wǎng)絡(luò)數(shù)據(jù)的提取可以獲取有效的數(shù)據(jù),來滿足人們的不同需求。在網(wǎng)絡(luò)招商的過程中,通過利用網(wǎng)絡(luò)爬蟲技術(shù),編寫相應(yīng)的數(shù)據(jù)爬取程序,將企業(yè)的復(fù)雜數(shù)據(jù)進(jìn)行整合關(guān)聯(lián),形成相互聯(lián)系、相互影響的數(shù)據(jù),形成一個(gè)統(tǒng)一的數(shù)據(jù)庫,便于政府的招商部門能夠快速的獲取精準(zhǔn)的數(shù)據(jù),提高招商的效率。
參考文獻(xiàn)
[1]宋亞奇,周國亮,朱永利.智能電網(wǎng)人數(shù)據(jù)處理技術(shù)現(xiàn)狀與挑戰(zhàn)[J].電網(wǎng)技術(shù),2017(04):27-35.
[2]金濤.網(wǎng)絡(luò)爬蟲在網(wǎng)頁信息提取中的應(yīng)用研究[J].現(xiàn)代計(jì)算機(jī),2016(01):16-18.
[3]李國杰.人數(shù)據(jù)研究的科學(xué)價(jià)值[J].中國計(jì)算機(jī)學(xué)會通訊,2017(09):8-15.
[4]郭麗蓉.基于Python的網(wǎng)絡(luò)爬蟲程序設(shè)計(jì)[J].電子技術(shù)與軟件工程,2017(12):23-24.