python爬蟲容易學(xué)嗎
隨著大數(shù)據(jù)時(shí)代的到來,數(shù)據(jù)將如同煤電氣油一樣,成為我們最重要的能源之一,然而這種能源是可以源源不斷產(chǎn)生、可再生的。而Python爬蟲作為獲取數(shù)據(jù)的關(guān)鍵一環(huán),在大數(shù)據(jù)時(shí)代有著極為重要的作用。于是許多同學(xué)就前來咨詢:Python爬蟲好學(xué)嗎?
什么是爬蟲?
網(wǎng)絡(luò)爬蟲,又被稱為網(wǎng)頁蜘蛛,網(wǎng)絡(luò)機(jī)器人,是一種按照一定的規(guī)則,自動(dòng)地抓取萬維網(wǎng)信息的程序或者腳本。
數(shù)據(jù)從何而來?
要想學(xué)Python首先請(qǐng)問:我們所爬的數(shù)據(jù),是從哪里來的呢?
企業(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)、貴陽大數(shù)據(jù)交易所;
政府/機(jī)構(gòu)公開的數(shù)據(jù):中華人民共和國(guó)國(guó)家統(tǒng)計(jì)局?jǐn)?shù)據(jù)、世界銀行公開數(shù)據(jù)、聯(lián)合國(guó)數(shù)據(jù)、納斯達(dá)克;
數(shù)據(jù)管理咨詢公司:麥肯錫、埃森哲、艾瑞咨詢;
爬取網(wǎng)絡(luò)數(shù)據(jù):如果需要的數(shù)據(jù)市場(chǎng)上沒有,或者不愿意購(gòu)買,那么可以選擇招/做一名爬蟲工程師,自己動(dòng)手豐衣足食。
怎么抓取頁面數(shù)據(jù)?
網(wǎng)頁三大特征:
網(wǎng)頁都有自己唯一的URL(統(tǒng)一資源定位符)來進(jìn)行定位;
網(wǎng)頁都使用HTML (超文本標(biāo)記語言)來描述頁面信息;
網(wǎng)頁都使用HTTP/HTTPS(超文本傳輸協(xié)議)協(xié)議來傳輸HTML數(shù)據(jù);
爬蟲的設(shè)計(jì)思路:
首先確定需要爬取的網(wǎng)頁URL地址。
通過HTTP/HTTP協(xié)議來獲取對(duì)應(yīng)的HTML頁面。
提取HTML頁面里有用的數(shù)據(jù):
a. 如果是需要的數(shù)據(jù),就保存起來。
b. 如果是頁面里的其他URL,那就繼續(xù)執(zhí)行第二步。
結(jié)語:Python爬蟲的學(xué)習(xí)實(shí)際上在Python學(xué)習(xí)過程中是一個(gè)基礎(chǔ)入門級(jí)的部分,學(xué)起來沒啥難的,但它確實(shí)是職業(yè)能力中不可或缺的技能之一。、
內(nèi)容擴(kuò)展:
一個(gè)簡(jiǎn)單的爬蟲實(shí)例:
import urllib,urllib2
import re
def geturllist():
# 不訪問網(wǎng)站,而是實(shí)例一個(gè)對(duì)象,為了模擬瀏覽器訪問服務(wù)器
req = urllib2.Request("http://www.budejie.com/video/")
# 添加申請(qǐng)?jiān)L問的header,讓對(duì)方服務(wù)器誤以為是瀏覽器申請(qǐng)?jiān)L問(參數(shù)是通過瀏覽器復(fù)制過來的)
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')
# 打開我剛才創(chuàng)建的實(shí)例對(duì)象
res =urllib2.urlopen(req)
html = res.read()
print html # 訪問到了資源代碼
# 定義一個(gè)正則化表達(dá)式為了獲取我要的視頻網(wǎng)址
reg = r'data-mp4="(.*?)">'
# 將網(wǎng)頁源碼中的視頻網(wǎng)址找出來
urllist = re.findall(reg,html)
# print urllist
# 有20個(gè)視頻網(wǎng)址,用for循環(huán)一個(gè)一個(gè)下載出來
n = 1
for url in urllist:
# url 視頻網(wǎng)址,'%s.mp4'下載后的名字,url.split('/')[-1] 將字符串按照‘/'分開
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)文章
解決Vscode中jupyter出現(xiàn)kernel dead問題
遇到VSCode中Jupyter Kernel Dead時(shí),可通過Anaconda Prompt安裝ipykernel解決,首先使用jupyter kernelspec list命令查看內(nèi)核,若發(fā)現(xiàn)缺少ipykernel,激活相應(yīng)虛擬環(huán)境,使用conda install ipykernel命令安裝,操作后,VSCode中Jupyter應(yīng)能正常運(yùn)行2024-09-09
人工智能-Python實(shí)現(xiàn)多項(xiàng)式回歸
這篇文章主要介紹了人工智能-Python實(shí)現(xiàn)多項(xiàng)式回歸,上一次我們講解了線性回歸,這次我們重點(diǎn)分析多項(xiàng)式回歸,需要的小伙伴可以參考一下2022-01-01
詳解python實(shí)現(xiàn)交叉驗(yàn)證法與留出法
這篇文章主要介紹了詳解python實(shí)現(xiàn)交叉驗(yàn)證法與留出法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python數(shù)據(jù)結(jié)構(gòu)與算法中的棧詳解(1)
這篇文章主要為大家詳細(xì)介紹了Python中的棧,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03

