python爬取今日头条的文章_Python3爬取今日头条有关《人民的名义》文章
Python3爬取今日頭條有關(guān)《人民的名義》文章
最近一直在看Python的基礎(chǔ)語法知識,五一假期手癢癢想練練,正好《人民的名義》剛結(jié)束,于是決定扒一下頭條上面的人名的名義文章,試試技術(shù)同時可以集中看一下大家的腦洞也是極好的。
首先,我們先打開頭條的網(wǎng)頁版,在右上角搜索框輸入關(guān)鍵詞,通過chrome調(diào)試工具,我們定位到頭條的search欄調(diào)用的的API為:
http://www.toutiao.com/search_content/?offset=0&format=json&keyword=%E4%BA%BA%E6%B0%91%E7%9A%84%E5%90%8D%E4%B9%89&autoload=true&count=20&cur_tab=1
其返回的數(shù)據(jù)是標(biāo)準(zhǔn)的json,所有的相關(guān)文章鏈接在data中,key值為article_url,好準(zhǔn)備工作完成,我們開始動手coding。
首先,我們構(gòu)造頭條必要的search條件:
query_data = {
‘offset‘: offset,
‘format‘: ‘json‘,
‘keyword‘: ‘人民的名義‘,
‘a(chǎn)utoload‘: ‘true‘,
‘count‘: 20, # 每次返回 20 篇文章
‘cur_tab‘: 1
}
當(dāng)然,我們除了search參數(shù)之外,還需要必要的header頭信息,仔細(xì)查看之后我們可以看到,
我們只選取其中必要的信息,不放cookie;
然后是編碼查詢條件
其中_get_query_string方法將query_data編碼;
拿到article_req之后解析獲取當(dāng)前搜索結(jié)果的所有文章鏈接,實(shí)現(xiàn)如下:
獲取到文章鏈接之后,我們打開每一個url進(jìn)行解析。
此處,我們簡單地對article_content進(jìn)行解析,取出文章標(biāo)題、內(nèi)容和圖片。
解析完成之后,我們將內(nèi)容保存到mongo中,方便后續(xù)的取數(shù)分析。
然后我們運(yùn)行一下程序,
運(yùn)行程序的時候我們發(fā)現(xiàn),通過search來搜索最后得到的文章數(shù)量有限,只有幾十篇文章,估計是頭條的限制。
下一篇我們將介紹如何通過一篇文章和相關(guān)推薦進(jìn)行鏈?zhǔn)脚廊∷械年P(guān)聯(lián)推薦文章。
總結(jié)
以上是生活随笔為你收集整理的python爬取今日头条的文章_Python3爬取今日头条有关《人民的名义》文章的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python给函数添加属性_如何在pyt
- 下一篇: python coding utf-8_