python爬蟲容易學(xué)嗎
隨著大數(shù)據(jù)時(shí)代的到來(lái),數(shù)據(jù)將如同煤電氣油一樣,成為我們最重要的能源之一,然而這種能源是可以源源不斷產(chǎn)生、可再生的。而Python爬蟲作為獲取數(shù)據(jù)的關(guān)鍵一環(huán),在大數(shù)據(jù)時(shí)代有著極為重要的作用。于是許多同學(xué)就前來(lái)咨詢:Python爬蟲好學(xué)嗎?
什么是爬蟲?
網(wǎng)絡(luò)爬蟲,又被稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人,是一種按照一定的規(guī)則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序或者腳本。
數(shù)據(jù)從何而來(lái)?
要想學(xué)Python首先請(qǐng)問(wèn):我們所爬的數(shù)據(jù),是從哪里來(lái)的呢?
企業(yè)產(chǎn)生的用戶數(shù)據(jù):百度指數(shù)、阿里指數(shù)、TBI騰訊瀏覽指數(shù)、新浪微博指數(shù);
數(shù)據(jù)平臺(tái)購(gòu)買數(shù)據(jù):數(shù)據(jù)堂、國(guó)云數(shù)據(jù)市場(chǎng)、貴陽(yáng)大數(shù)據(jù)交易所;
政府/機(jī)構(gòu)公開(kāi)的數(shù)據(jù):中華人民共和國(guó)國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)、世界銀行公開(kāi)數(shù)據(jù)、聯(lián)合國(guó)數(shù)據(jù)、納斯達(dá)克;
數(shù)據(jù)管理咨詢公司:麥肯錫、埃森哲、艾瑞咨詢;
爬取網(wǎng)絡(luò)數(shù)據(jù):如果需要的數(shù)據(jù)市場(chǎng)上沒(méi)有,或者不愿意購(gòu)買,那么可以選擇招/做一名爬蟲工程師,自己動(dòng)手豐衣足食。
怎么抓取頁(yè)面數(shù)據(jù)?
網(wǎng)頁(yè)三大特征:
網(wǎng)頁(yè)都有自己唯一的URL(統(tǒng)一資源定位符)來(lái)進(jìn)行定位;
網(wǎng)頁(yè)都使用HTML (超文本標(biāo)記語(yǔ)言)來(lái)描述頁(yè)面信息;
網(wǎng)頁(yè)都使用HTTP/HTTPS(超文本傳輸協(xié)議)協(xié)議來(lái)傳輸HTML數(shù)據(jù);
爬蟲的設(shè)計(jì)思路:
首先確定需要爬取的網(wǎng)頁(yè)URL地址。
通過(guò)HTTP/HTTP協(xié)議來(lái)獲取對(duì)應(yīng)的HTML頁(yè)面。
提取HTML頁(yè)面里有用的數(shù)據(jù):
a. 如果是需要的數(shù)據(jù),就保存起來(lái)。
b. 如果是頁(yè)面里的其他URL,那就繼續(xù)執(zhí)行第二步。
結(jié)語(yǔ):Python爬蟲的學(xué)習(xí)實(shí)際上在Python學(xué)習(xí)過(guò)程中是一個(gè)基礎(chǔ)入門級(jí)的部分,學(xué)起來(lái)沒(méi)啥難的,但它確實(shí)是職業(yè)能力中不可或缺的技能之一。、
內(nèi)容擴(kuò)展:
一個(gè)簡(jiǎn)單的爬蟲實(shí)例:
import urllib,urllib2 import re def geturllist(): # 不訪問(wèn)網(wǎng)站,而是實(shí)例一個(gè)對(duì)象,為了模擬瀏覽器訪問(wèn)服務(wù)器 req = urllib2.Request("http://www.budejie.com/video/") # 添加申請(qǐng)?jiān)L問(wèn)的header,讓對(duì)方服務(wù)器誤以為是瀏覽器申請(qǐng)?jiān)L問(wèn)(參數(shù)是通過(guò)瀏覽器復(fù)制過(guò)來(lái)的) req.add_header('User-Agent',' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36') # 打開(kāi)我剛才創(chuàng)建的實(shí)例對(duì)象 res =urllib2.urlopen(req) html = res.read() print html # 訪問(wèn)到了資源代碼 # 定義一個(gè)正則化表達(dá)式為了獲取我要的視頻網(wǎng)址 reg = r'data-mp4="(.*?)">' # 將網(wǎng)頁(yè)源碼中的視頻網(wǎng)址找出來(lái) urllist = re.findall(reg,html) # print urllist # 有20個(gè)視頻網(wǎng)址,用for循環(huán)一個(gè)一個(gè)下載出來(lái) n = 1 for url in urllist: # url 視頻網(wǎng)址,'%s.mp4'下載后的名字,url.split('/')[-1] 將字符串按照‘/'分開(kāi) urllib.urlretrieve(url,'%s.mp4' %url.split('/')[-1]) # 下載視頻 n = n+1 geturllist()
到此這篇關(guān)于python爬蟲容易學(xué)嗎的文章就介紹到這了,更多相關(guān)python爬蟲好學(xué)嗎內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
編寫簡(jiǎn)單的Python程序來(lái)判斷文本的語(yǔ)種
這篇文章主要介紹了編寫簡(jiǎn)單的Python程序來(lái)判斷語(yǔ)種,代碼非常簡(jiǎn)單,主要用到了langid工具包,需要的朋友可以參考下2015-04-04Python3的介紹、安裝和命令行的認(rèn)識(shí)(推薦)
Python是著名的“龜叔”Guido van Rossum在1989年圣誕節(jié)期間,為了打發(fā)無(wú)聊的圣誕節(jié)而編寫的一個(gè)編程語(yǔ)言。這篇文章主要介紹了Python3的介紹、安裝和命令行的認(rèn)識(shí),需要的朋友可以參考下2018-10-10詳解python實(shí)現(xiàn)識(shí)別手寫MNIST數(shù)字集的程序
這篇文章主要介紹了詳解python實(shí)現(xiàn)識(shí)別手寫MNIST數(shù)字集的程序,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08對(duì)django views中 request, response的常用操作詳解
今天小編就為大家分享一篇對(duì)django views中 request, response的常用操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python字典創(chuàng)建 遍歷 添加等實(shí)用基礎(chǔ)操作技巧
字段是Python是字典中唯一的鍵-值類型,本文講述了Python中字典如何創(chuàng)建 遍歷 添加等實(shí)用基礎(chǔ)操作技巧,內(nèi)容非常基礎(chǔ)但非常重要,一定要熟練掌握2018-09-09wxPython定時(shí)器wx.Timer簡(jiǎn)單應(yīng)用實(shí)例
這篇文章主要介紹了wxPython定時(shí)器wx.Timer簡(jiǎn)單應(yīng)用,實(shí)例分析了Python使用wxPython創(chuàng)建窗口應(yīng)用程序及定時(shí)器的相關(guān)使用技巧,需要的朋友可以參考下2015-06-06解決Keras 與 Tensorflow 版本之間的兼容性問(wèn)題
今天小編就為大家分享一篇解決Keras 與 Tensorflow 版本之間的兼容性問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Pytorch中求模型準(zhǔn)確率的兩種方法小結(jié)
這篇文章主要介紹了Pytorch中求模型準(zhǔn)確率的兩種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05