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

網(wǎng)絡(luò)爬蟲(chóng)探討及應(yīng)用

2020-12-24 07:56:55管小衛(wèi)
科技創(chuàng)新與應(yīng)用 2020年27期
關(guān)鍵詞:搜索引擎

管小衛(wèi)

摘? 要:隨著互聯(lián)網(wǎng)信息技術(shù)的快速發(fā)展和大數(shù)據(jù)時(shí)代的到來(lái),越來(lái)越多用戶(hù)借助于網(wǎng)絡(luò)搜索、在線瀏覽等平臺(tái),進(jìn)行所需要數(shù)據(jù)信息的獲取,而最常用的信息獲取方式為網(wǎng)絡(luò)爬蟲(chóng)。文章從爬蟲(chóng)概念、工作原理、爬蟲(chóng)分類(lèi)和合法性進(jìn)行了探討,并通過(guò)實(shí)例展現(xiàn)了Python爬蟲(chóng)的簡(jiǎn)潔性,望對(duì)學(xué)習(xí)者有所幫助。

關(guān)鍵詞:網(wǎng)絡(luò)爬蟲(chóng);搜索引擎;Python

中圖分類(lèi)號(hào):TP393.092 文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號(hào):2095-2945(2020)27-0178-02

Abstract: With the rapid development of Internet information technology and the arrival of the era of big data, more and more users obtain the required data and information with the help of web search, online browsing and other platforms, and the most commonly used way to obtain information is web crawlers. This paper discusses the concept, working principle, classification and legitimacy of reptiles, and shows the conciseness of Python crawlers through examples, in the hope of providing help to learners.

Keywords: Web crawler; search engine; Python

人們?cè)谏睢⒐ぷ鞯犬a(chǎn)生的數(shù)據(jù)量以指數(shù)形式爆炸式增長(zhǎng),如何在大量的數(shù)據(jù)中找到我們需要的數(shù)據(jù)呢?越來(lái)越多用戶(hù)借助于網(wǎng)絡(luò)搜索、在線瀏覽等平臺(tái),進(jìn)行所需要數(shù)據(jù)信息的獲取,而最常用的信息獲取方式為網(wǎng)絡(luò)爬蟲(chóng)。通過(guò)爬蟲(chóng)可以實(shí)現(xiàn)對(duì)海量數(shù)據(jù)信息的查找、保存與顯示。

1 網(wǎng)絡(luò)爬蟲(chóng)概述

1.1 網(wǎng)絡(luò)爬蟲(chóng)及工作原理

網(wǎng)絡(luò)爬蟲(chóng)也被稱(chēng)為網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機(jī)器人,就像一只蜘蛛一樣在互聯(lián)網(wǎng)上沿著URL(統(tǒng)一資源定位)的絲線爬行,下載每一個(gè)URL所指向的網(wǎng)頁(yè),分析頁(yè)面內(nèi)容,它是一個(gè)自動(dòng)下載網(wǎng)頁(yè)的計(jì)算機(jī)程序或自動(dòng)化腳本。爬蟲(chóng)的主要目的是從網(wǎng)頁(yè)中提取相關(guān)信息并保持至本地?cái)?shù)據(jù)庫(kù),形成一個(gè)同互聯(lián)網(wǎng)的鏡像備份。

網(wǎng)絡(luò)爬蟲(chóng)實(shí)現(xiàn)原理:首先模擬瀏覽器向服務(wù)器發(fā)送正常的http(https)請(qǐng)求,服務(wù)器正常響應(yīng)后,主機(jī)將收到包含所需信息的網(wǎng)頁(yè)代碼。然后主機(jī)使用過(guò)濾模塊將所需信息從網(wǎng)頁(yè)代碼中過(guò)濾出來(lái)。如果一個(gè)模塊無(wú)法完全過(guò)濾有效信息,可以采取多個(gè)模塊協(xié)作的方式。

1.2 網(wǎng)絡(luò)爬蟲(chóng)的價(jià)值

(1)爬取數(shù)據(jù),進(jìn)行市場(chǎng)調(diào)研和商業(yè)分析。如想要了解某地區(qū)的房源信息。爬取鏈家、安居客等房屋買(mǎi)賣(mài)平臺(tái)提供的信息,進(jìn)行分析房?jī)r(jià)變化的趨勢(shì),從而得到自己想要的結(jié)果。也可以通過(guò)抓取各個(gè)招聘網(wǎng)站的招聘信息,從而分析出目前哪些崗位競(jìng)爭(zhēng)激烈,你想要應(yīng)聘的崗位在你所在的地區(qū)都有哪些公司在招聘,從而做到面試前心里有數(shù)。

(2)作為機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘的原始數(shù)據(jù)。如要做一個(gè)推薦系統(tǒng),可以去爬取更多維度的數(shù)據(jù),做出更好的模型;如做圖像識(shí)別,可以爬取大量的圖片作為訓(xùn)練集進(jìn)行訓(xùn)練。

(3)爬取優(yōu)質(zhì)的圖片、文本、視頻資源。如爬取微信公眾號(hào)文章,分析新媒體內(nèi)容運(yùn)營(yíng)策略。

1.3 爬蟲(chóng)的分類(lèi)

網(wǎng)絡(luò)爬蟲(chóng)類(lèi)型有多種,常見(jiàn)的有通用網(wǎng)絡(luò)爬蟲(chóng)和聚焦網(wǎng)絡(luò)爬蟲(chóng)兩種類(lèi)型。

(1)通用網(wǎng)絡(luò)爬蟲(chóng):將英特網(wǎng)上網(wǎng)頁(yè)信息下載到本地,成為網(wǎng)站內(nèi)容的備份,它是搜索引擎系統(tǒng)的重要組成部分。搜索引擎中第一步就是爬蟲(chóng),它是一種自動(dòng)獲取網(wǎng)站中網(wǎng)頁(yè)信息的搜索程序。搜索引擎中爬蟲(chóng)通常還會(huì)抓取和檢索html之外的文字類(lèi)型的文件,如文本文件,word文件,便攜式電子文檔pdf等,但是對(duì)于圖片,視頻等非文字的內(nèi)容則一般不會(huì)處理,另外對(duì)于腳本和一些網(wǎng)頁(yè)中的程序也不會(huì)處理。

(2)聚焦網(wǎng)絡(luò)爬蟲(chóng):針對(duì)某一特定領(lǐng)域的數(shù)據(jù)進(jìn)行抓取的程序,聚焦爬蟲(chóng)與通用爬蟲(chóng)的區(qū)別:前者在獲取網(wǎng)頁(yè)信息后會(huì)對(duì)其內(nèi)容進(jìn)行處理(篩選),確保抓取符合需求的網(wǎng)頁(yè)內(nèi)容。比如旅游網(wǎng)站,金融網(wǎng)站,招聘網(wǎng)站等等;特定領(lǐng)域的聚集爬蟲(chóng)會(huì)使用各種技術(shù)去處理我們需要的信息,所以對(duì)于網(wǎng)站中動(dòng)態(tài)的一些程序,腳本仍會(huì)執(zhí)行,以保證確定能抓取到網(wǎng)站中的數(shù)據(jù)。

1.4 Robots排除協(xié)議(Robots Exclusion Protocol)

也稱(chēng)為網(wǎng)絡(luò)爬蟲(chóng)協(xié)議,它是網(wǎng)站管理者表達(dá)是否希望爬蟲(chóng)自動(dòng)獲取網(wǎng)絡(luò)信息意愿的方法。當(dāng)使用一個(gè)爬蟲(chóng)爬取一個(gè)網(wǎng)站的數(shù)據(jù)時(shí),需要遵守網(wǎng)站所有者針對(duì)所有爬蟲(chóng)所制定的協(xié)議。它通常是一個(gè)叫作robots.txt的文本文件,該協(xié)議通常存放在網(wǎng)站根目錄下,里面規(guī)定了此網(wǎng)站哪些內(nèi)容可以被爬蟲(chóng)獲取,及哪些網(wǎng)頁(yè)是不允許爬蟲(chóng)獲取的。訪問(wèn)網(wǎng)站robots協(xié)議的方法:在域名后面輸入/robots.txt。

2 利用Python爬取房天下新房數(shù)據(jù)

2.1 Python語(yǔ)言簡(jiǎn)介

Python語(yǔ)言語(yǔ)法優(yōu)美、代碼簡(jiǎn)潔、開(kāi)發(fā)效率高、支持模塊多,現(xiàn)已成為人工智能、大數(shù)據(jù)和云計(jì)算時(shí)代首選編程語(yǔ)言。Python包含了十幾萬(wàn)的第三方庫(kù),幾乎涵蓋了計(jì)算機(jī)技術(shù)的各個(gè)領(lǐng)域,具備了良好的編程生態(tài),如requests庫(kù)獲取html頁(yè)面并將其轉(zhuǎn)換成字符串。bs4庫(kù)用于解析和處理html和xml,可以根據(jù)html和xml語(yǔ)法建立解析樹(shù),進(jìn)而高效解析其中的內(nèi)容,re庫(kù)用于處理正則表達(dá)式等。

2.2 常用Python庫(kù)簡(jiǎn)介

網(wǎng)絡(luò)爬蟲(chóng)應(yīng)用一般分為兩個(gè)步驟:一是通過(guò)網(wǎng)絡(luò)連接獲取網(wǎng)頁(yè)的內(nèi)容,可以使用requests庫(kù)中的函數(shù)實(shí)現(xiàn),二是對(duì)獲取的網(wǎng)頁(yè)內(nèi)容進(jìn)行處理,可以使用beautifulsoup4庫(kù)和re庫(kù)來(lái)實(shí)現(xiàn)。

(1)requests 庫(kù),是一個(gè)簡(jiǎn)潔且簡(jiǎn)單的處理http請(qǐng)求的第三方庫(kù),該庫(kù)中的get()方法對(duì)應(yīng)于http的GET方式,獲取網(wǎng)頁(yè)最常用的方法,通過(guò)text屬性獲取http響應(yīng)內(nèi)容的字符串形式。代碼如下:

import requests

r = requests.get(url)

html = r.text

(2)BeautifulSoup4庫(kù)(又稱(chēng)bs4庫(kù))采用面向?qū)ο蟮乃枷氚秧?yè)面當(dāng)做一個(gè)對(duì)象,bs4庫(kù)中最主要的是BeautifulSoup類(lèi),每個(gè)實(shí)例化的對(duì)象相當(dāng)于一個(gè)頁(yè)面。通過(guò)from-import引入bs4庫(kù)中的BeautifulSoup類(lèi)后創(chuàng)建一個(gè)BeautifulSoup對(duì)象,該對(duì)象是一個(gè)樹(shù)形結(jié)構(gòu),包含了html頁(yè)面中的每一個(gè)標(biāo)簽元素,如、等,也就是說(shuō),每個(gè)元素都是BeautifulSoup對(duì)象的一個(gè)屬性,可以使用“對(duì)象名.屬性名”形式獲取(屬性名為html中標(biāo)簽元素)。

當(dāng)需要列出標(biāo)簽對(duì)應(yīng)的所有內(nèi)容或需要找到非第一個(gè)標(biāo)簽時(shí),需要用到BeautifulSoup的find()和find_all()方法,前者返回找到的第一個(gè)結(jié)果,而后者返回全部結(jié)果,find_all()方法可能返回多個(gè)結(jié)果,返回值采用列表形式,find()方法返回字符串形式。

(3)re庫(kù)是Python標(biāo)準(zhǔn)庫(kù),直接通過(guò)import re就可使用,該庫(kù)用于處理正則表達(dá)式,解析和處理html和xml。正則表達(dá)式是一種規(guī)則,只要字符串符合這個(gè)規(guī)則,就算匹配。如抓到的網(wǎng)頁(yè)中的超鏈接、電話號(hào)碼、電子郵箱等,可以使用正則表達(dá)式函數(shù)庫(kù)re來(lái)查找數(shù)據(jù)。例如,通過(guò)re.compile(‘query)函數(shù)注冊(cè)一個(gè)正則表達(dá)式,實(shí)現(xiàn)對(duì)字符串query的檢索、匹配。當(dāng)對(duì)標(biāo)簽屬性檢索時(shí),屬性和對(duì)應(yīng)的值采用JSON格式,如:‘src: re.compile(‘query),其中,鍵值對(duì)中值的部分可以是字符串或者正則表達(dá)式。

(4)numpy庫(kù)是Python提供的用于處理含有同種元素的多維數(shù)組運(yùn)算的第三方庫(kù),一般通過(guò)import numpy as np引入庫(kù),其中as保留字與import一起使用改變后續(xù)的命名空間,也就是說(shuō)給numpy取了一個(gè)別名為np。

2.3 房天下數(shù)據(jù)獲取

本示例主要用到Python的requests庫(kù)、bs4庫(kù)、numpy庫(kù)和re庫(kù)對(duì)數(shù)據(jù)進(jìn)行爬取,爬取的字段包括二手房的標(biāo)題、所在位置、房源的狀態(tài)、單價(jià)等四個(gè)字段。requests庫(kù)用來(lái)獲取網(wǎng)頁(yè)http://newhouse.huaian.fang.com/house/s/b91中新房數(shù)據(jù),bs4庫(kù)則是解析網(wǎng)頁(yè)內(nèi)容,獲取有用數(shù)據(jù)。部分代碼如下:

HTML = requests.get(URL)

SOUP = BeautifulSoup(HTML.content, ‘html.parser, from_encoding=‘gb18030)

last_page = SOUP.select(‘.last)

page_number = int(last_page[0][‘href].split(‘/)[3].split(‘9)[1])

url_demo = ‘http://newhouse.huaian.fang.com/house/s/b9{}/#i+1,name.text.strip(),

for i in range(1,(page_number+1)):

url = url_demo.format(i)

html = requests.get(url)

soup = BeautifulSoup(html.content,‘html.parser,from_encoding=‘gb18030)

3 結(jié)束語(yǔ)

網(wǎng)絡(luò)爬蟲(chóng)技術(shù)是當(dāng)前人工智能和大數(shù)據(jù)領(lǐng)域的一個(gè)研究熱點(diǎn),因特網(wǎng)的搜索引擎利用爬蟲(chóng)所爬取的頁(yè)面信息建立索引,實(shí)現(xiàn)快速搜索。Python是一種被廣泛使用的高級(jí)通用腳本編程語(yǔ)言,從科學(xué)計(jì)算、數(shù)據(jù)處理到人工智能,幾乎可以用于編寫(xiě)各領(lǐng)域的應(yīng)用程序。編寫(xiě)基于Python的網(wǎng)絡(luò)爬蟲(chóng)程序,可以更高效獲取指定信息,定向抓取并分析網(wǎng)頁(yè)資源,具有一定的實(shí)用價(jià)值。

參考文獻(xiàn):

[1]劉航.基于Python的重慶二手房爬取及分析[J].電腦知識(shí)與技術(shù),2019,15(36):6-7,17.

[2]溫婭娜,袁梓梁,何詠宸,等.基于Python爬蟲(chóng)技術(shù)的網(wǎng)頁(yè)解析與數(shù)據(jù)獲取研究[J].現(xiàn)代信息科技,2020,4(1):12-13,16.

[3]成文瑩,李秀敏.基于Python的電影數(shù)據(jù)爬取與數(shù)據(jù)可視化分析研究[J].電腦知識(shí)與技術(shù),2019,15(31):8-10,12.

猜你喜歡
搜索引擎
網(wǎng)絡(luò)搜索引擎亟待規(guī)范
Nutch搜索引擎在網(wǎng)絡(luò)輿情管控中的應(yīng)用
基于Nutch的醫(yī)療搜索引擎的研究與開(kāi)發(fā)
廣告主與搜索引擎的雙向博弈分析
知識(shí)漫畫(huà)
搜索,也要“深搜熟濾”
主站蜘蛛池模板: 熟妇无码人妻| 国产成人亚洲无码淙合青草| 亚洲免费成人网| 一本久道久综合久久鬼色| 国产成人精彩在线视频50| 久久综合九九亚洲一区| 91精品国产一区自在线拍| 免费人成网站在线高清| 国产精品免费露脸视频| 性色在线视频精品| 国产成人一区在线播放| 婷婷在线网站| 亚洲综合香蕉| 无码人妻热线精品视频| 国产美女在线观看| 亚洲色图欧美激情| 日韩av无码DVD| 亚洲动漫h| 广东一级毛片| 成人毛片免费在线观看| a级毛片一区二区免费视频| 91色在线观看| 波多野结衣视频一区二区| 夜夜爽免费视频| 女人18毛片久久| 激情综合网址| 亚洲一区二区无码视频| 青青国产在线| 欧美一级一级做性视频| 国产不卡网| 午夜日韩久久影院| 日韩在线播放中文字幕| 国产成人久久综合一区| 看你懂的巨臀中文字幕一区二区| 无码国产伊人| 国产偷国产偷在线高清| 欧美精品一区在线看| 在线色综合| 日韩黄色在线| 国产成人高精品免费视频| 亚洲成人精品久久| 成人在线第一页| 国产精品三区四区| 精品国产欧美精品v| 精品伊人久久大香线蕉网站| 亚洲精品无码成人片在线观看| 试看120秒男女啪啪免费| 91欧洲国产日韩在线人成| 欧美国产日韩在线| 免费观看三级毛片| 亚洲精品天堂自在久久77| 精品在线免费播放| 啪啪免费视频一区二区| 特级欧美视频aaaaaa| 欧美a√在线| 免费国产在线精品一区| 婷婷色一二三区波多野衣| 亚洲国产精品久久久久秋霞影院| 久久大香伊蕉在人线观看热2 | 毛片在线区| 国产激情无码一区二区免费| 毛片免费试看| 欧美日韩在线亚洲国产人| 免费福利视频网站| 国产免费精彩视频| 囯产av无码片毛片一级| 亚洲无码高清一区二区| 深夜福利视频一区二区| 久久综合色视频| 99精品在线看| 最新日韩AV网址在线观看| 99re66精品视频在线观看| 国产91av在线| 99久久国产自偷自偷免费一区| 亚洲精选高清无码| 欧美精品v日韩精品v国产精品| 欧美三级视频网站| 国产剧情伊人| 尤物在线观看乱码| 成人夜夜嗨| 色屁屁一区二区三区视频国产| 亚洲欧美日韩成人在线|