第五課 Python爬蟲抓取新浪新聞的內(nèi)容頁

內(nèi)容頁結構:

以這篇文章為例子:

http://news.sina.com.cn/c/2017-09-05/doc-ifykpzey4568845.shtml

因為簡短,方便觀看演示:

GET請求:

http://news.sina.com.cn/c/2017-09-05/doc-ifykpzey4568845.shtml

現(xiàn)在的代碼:

抓取標題:

title = soup.select('#artibodyTitle')[0].text

抓取時間:

涉及到拆分的過程:

.contents的用法:

拆分成兩個部分

.strip()的用法:

移除特殊字符

時間格式轉(zhuǎn)化:

from datetime import datetime

字符串轉(zhuǎn)時間:----strptime

Dt = datetime.strptime(timesource,’%Y年%m月%d日%H:%M’)

Dt

這樣我們就可以將數(shù)據(jù)轉(zhuǎn)化并以正確的格式存儲到數(shù)據(jù)庫沪哺。

時間轉(zhuǎn)字符串:

Dt.strftime(‘%Y-%m-%d’)

抓取文章來源:

source = soup.select('.time-source span a')[0].text

抓取文章正文:

正文抓取去除最后的“責任編輯”

后綴加上[:-1]即可:

article = soup.select('#artibody p')[:-1]

為了將所有的文字內(nèi)容合并:

去除‘\u3000’,只需要使用.strip()

.join()合并列表為字符串:

上圖是以一個空格連接內(nèi)容

至此代碼:

article = []

for p in soup.select('#artibody p')[:-1]:

article.append(p.text.strip())

articles = ' '.join(article)

print(articles)

說明:

為啥搞得那么復雜,其實是為了大家更充分理解各種正則操作杜顺,在實際的抓取網(wǎng)頁時,一般是會將HTML標簽等一同抓取。

更簡單的寫法:

獲取作者:

editor = soup.select('.article-editor')[0].text.lstrip('責任編輯:')

移除責任編輯:

.strip(‘責任編輯:’)

或者:lstrip('責任編輯:')

獲取評論數(shù):

按照常規(guī)方法:

結果為空洛勉?

想到評論數(shù)可能是JavaScript動態(tài)加載的棒厘!

通過開發(fā)者工具找到:

http://comment5.news.sina.com.cn/page/info?version=1&format=js&channel=gn&newsid=comos-fykpzey4568845&group=&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=20&jsvar=loader_1504672931680_10534041

分析URL纵穿,將改為:

http://comment5.news.sina.com.cn/page/info?version=1&format=js&channel=gn&newsid=comos-(文章id)&group=&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=20

如何獲取新聞id:

#url處理

newsurl = 'http://news.sina.com.cn/c/2017-09-05/doc-ifykpzey4568845.shtml'

newsid = newsurl.split('/')[-1].rstrip('.shtml').lstrip('doc-')

print(newsid)

或者re正則表達:

JSON數(shù)據(jù)解析獲取評論數(shù)量:

comments = requests.get('http://comment5.news.sina.com.cn/page/info?version=1&format=js&channel=gn&newsid=comos-fykpzey4568845&group=&compress=0&ie=utf-8&oe=utf-8&page=1&page_size=20')

jd = json.loads(comments.text.strip('var data='))

print(jd['result']['count']['total'])

整理如下:


注:本文屬于原創(chuàng)文章,創(chuàng)作不易奢人,轉(zhuǎn)載請注明本文地址谓媒!

作者QQ:1099718640

CSDN博客主頁:http://blog.csdn.net/dyboy2017

Github開源項目:https://github.com/dyboy2017/spider

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市何乎,隨后出現(xiàn)的幾起案子句惯,更是在濱河造成了極大的恐慌,老刑警劉巖宪赶,帶你破解...
    沈念sama閱讀 211,948評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宗弯,死亡現(xiàn)場離奇詭異,居然都是意外死亡搂妻,警方通過查閱死者的電腦和手機蒙保,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來欲主,“玉大人邓厕,你說我怎么就攤上這事”馄埃” “怎么了详恼?”我有些...
    開封第一講書人閱讀 157,490評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長引几。 經(jīng)常有香客問我昧互,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,521評論 1 284
  • 正文 為了忘掉前任敞掘,我火速辦了婚禮叽掘,結果婚禮上,老公的妹妹穿的比我還像新娘玖雁。我一直安慰自己更扁,他們只是感情好,可當我...
    茶點故事閱讀 65,627評論 6 386
  • 文/花漫 我一把揭開白布赫冬。 她就那樣靜靜地躺著浓镜,像睡著了一般。 火紅的嫁衣襯著肌膚如雪劲厌。 梳的紋絲不亂的頭發(fā)上膛薛,一...
    開封第一講書人閱讀 49,842評論 1 290
  • 那天,我揣著相機與錄音脊僚,去河邊找鬼相叁。 笑死,一個胖子當著我的面吹牛辽幌,可吹牛的內(nèi)容都是我干的增淹。 我是一名探鬼主播,決...
    沈念sama閱讀 38,997評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼乌企,長吁一口氣:“原來是場噩夢啊……” “哼虑润!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起加酵,我...
    開封第一講書人閱讀 37,741評論 0 268
  • 序言:老撾萬榮一對情侶失蹤拳喻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后猪腕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冗澈,經(jīng)...
    沈念sama閱讀 44,203評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,534評論 2 327
  • 正文 我和宋清朗相戀三年陋葡,在試婚紗的時候發(fā)現(xiàn)自己被綠了亚亲。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,673評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡腐缤,死狀恐怖捌归,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岭粤,我是刑警寧澤惜索,帶...
    沈念sama閱讀 34,339評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站剃浇,受9級特大地震影響巾兆,放射性物質(zhì)發(fā)生泄漏猎物。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,955評論 3 313
  • 文/蒙蒙 一臼寄、第九天 我趴在偏房一處隱蔽的房頂上張望霸奕。 院中可真熱鬧,春花似錦吉拳、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嫉嘀,卻和暖如春炼邀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背剪侮。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評論 1 266
  • 我被黑心中介騙來泰國打工拭宁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瓣俯。 一個月前我還...
    沈念sama閱讀 46,394評論 2 360
  • 正文 我出身青樓杰标,卻偏偏與公主長得像,于是被迫代替她去往敵國和親彩匕。 傳聞我的和親對象是個殘疾皇子腔剂,可洞房花燭夜當晚...
    茶點故事閱讀 43,562評論 2 349

推薦閱讀更多精彩內(nèi)容