溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python爬蟲好不好學(xué)

發(fā)布時(shí)間:2020-07-21 17:12:56 來源:億速云 閱讀:125 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了python爬蟲好不好學(xué),內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

隨著大數(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)購買數(shù)據(jù):數(shù)據(jù)堂、國云數(shù)據(jù)市場、貴陽大數(shù)據(jù)交易所;

政府/機(jī)構(gòu)公開的數(shù)據(jù):中華人民共和國國家統(tǒng)計(jì)局?jǐn)?shù)據(jù)、世界銀行公開數(shù)據(jù)、聯(lián)合國數(shù)據(jù)、納斯達(dá)克;

數(shù)據(jù)管理咨詢公司:麥肯錫、埃森哲、艾瑞咨詢;

爬取網(wǎng)絡(luò)數(shù)據(jù):如果需要的數(shù)據(jù)市場上沒有,或者不愿意購買,那么可以選擇招/做一名爬蟲工程師,自己動(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è)簡單的爬蟲實(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()

看完上述內(nèi)容,是不是對(duì)python爬蟲好不好學(xué)有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI