亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

這是最簡(jiǎn)單的Python爬蟲案例,如果你能看懂,那么請(qǐng)你保持信心,因?yàn)槟阋呀?jīng)入門Python爬蟲,只要帶著信心和努力,你的技術(shù)能力在日后必定價(jià)值15K月薪。

最簡(jiǎn)單的Python爬蟲案例,看得懂說明你已入門,附贈(zèng)教程

 

這次是要爬取網(wǎng)易新聞,包括新聞標(biāo)題、作者、來源、發(fā)布時(shí)間、正文等。

第一步,我們先找到網(wǎng)易新聞的網(wǎng)站,并且打開,選擇其中的某一個(gè)分類,比如:國(guó)內(nèi)新聞,然后點(diǎn)擊鼠標(biāo)的右鍵查看源代碼。

如果你遇到了以下這種情況:

在源代碼中并沒有頁面正中的新聞列表。這說明此網(wǎng)頁采用的是異步的方式。也就是通過api接口獲取的數(shù)據(jù)。

在確認(rèn)之后,用F12打開谷歌瀏覽器的控制臺(tái),點(diǎn)擊 Network,我們一直往下拉,發(fā)現(xiàn)右側(cè)出現(xiàn)了:"… special/00804KVA/cm_guonei_03.js? … "之類的地址,點(diǎn)開Response發(fā)現(xiàn)正是我們要找的api接口。

可以看到這些接口的地址都有一定的規(guī)律:“cm_guonei_03.js”、“cm_guonei_04.js”,那么就很明顯了:

http://temp.163.com/special/00804KVA/cm_guonei_0(*).js

上面的鏈接也就是我們本次抓取所要請(qǐng)求的地址。

接下來只需要用到的python的兩個(gè)庫:

requestsjsonBeautifulSoup

requests庫就是用來進(jìn)行網(wǎng)絡(luò)請(qǐng)求的,說白了就是模擬瀏覽器來獲取資源。由于我們采集的是api接口,它的格式為json,所以要用到j(luò)son庫來解析。BeautifulSoup是用來解析html文檔的,可以很方便的幫我們獲取指定div的內(nèi)容。

下面我們正式進(jìn)入爬蟲程序的編寫

第一步先導(dǎo)入以上三個(gè)包:

最簡(jiǎn)單的Python爬蟲案例,看得懂說明你已入門,附贈(zèng)教程

 

接著我們定義一個(gè)獲取指定頁碼內(nèi)數(shù)據(jù)的方法:

最簡(jiǎn)單的Python爬蟲案例,看得懂說明你已入門,附贈(zèng)教程

 

這樣子就得到每個(gè)頁碼對(duì)應(yīng)的內(nèi)容列表:

最簡(jiǎn)單的Python爬蟲案例,看得懂說明你已入門,附贈(zèng)教程

 

之后通過分析數(shù)據(jù)可知下圖圈出來的則是需要抓取的標(biāo)題、發(fā)布時(shí)間以及新聞內(nèi)容頁面。

既然現(xiàn)在已經(jīng)獲取到了內(nèi)容頁的url,那么接下來開始抓取新聞?wù)摹?/p>

在抓取正文之前要先分析一下正文的html頁面,找到正文、作者、來源在html文檔中的位置。

我們看到文章來源在文檔中的位置為:id = “ne_article_source” 的 a 標(biāo)簽。作者位置為:class = “ep-editor” 的 span 標(biāo)簽。正文位置為:class = “post_text” 的 div 標(biāo)簽。

下面采集這三個(gè)內(nèi)容的代碼:

最簡(jiǎn)單的Python爬蟲案例,看得懂說明你已入門,附贈(zèng)教程

 

到此為止我們所要抓取的所有數(shù)據(jù)都已經(jīng)采集了。

那么接下來當(dāng)然是把它們保存下來,為了方便我直接采取文本的形式來保存。下面是最終的結(jié)果:

最簡(jiǎn)單的Python爬蟲案例,看得懂說明你已入門,附贈(zèng)教程

 

格式為json字符串,“標(biāo)題” : [ ‘日期’, ‘url’, ‘來源’, ‘作者’, ‘正文’ ]。

要注意的是目前實(shí)現(xiàn)的方式是完全同步的,線性的方式,存在的問題就是采集會(huì)非常慢。主要延遲是在網(wǎng)絡(luò)IO上,下次可以升級(jí)為異步IO,異步采集,有興趣的可以關(guān)注下次的文章。

通過本次練手,各位應(yīng)該會(huì)對(duì)爬蟲有一個(gè)入門級(jí)的了解。

分享到:
標(biāo)簽:爬蟲 Python
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定