最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python爬取騰訊視頻評(píng)論的思路詳解

 更新時(shí)間:2019年12月19日 09:40:58   作者:畫(huà)師-開(kāi)言  
這篇文章主要介紹了Python爬取騰訊視頻評(píng)論功能,本文圖文詳解給大家提供實(shí)現(xiàn)思路,需要的朋友可以參考下

一、前提條件

  • 安裝了Fiddler了(用于抓包分析)
  • 谷歌火狐瀏覽器
  • 如果是谷歌瀏覽器,還需要給谷歌瀏覽器安裝一個(gè)SwitchyOmega插件,用于代理服務(wù)器
  • 有Python的編譯環(huán)境,一般選擇Python3.0及以上

聲明:本次爬取騰訊視頻里 《最美公里》紀(jì)錄片的評(píng)論。本次爬取使用的瀏覽器是谷歌瀏覽器

二、分析思路

1、分析評(píng)論頁(yè)面

在這里插入圖片描述

根據(jù)上圖,我們可以知道:評(píng)論使用了Ajax異步刷新技術(shù)。這樣就不能使用以前分析當(dāng)前頁(yè)面找出規(guī)律的手段了。因?yàn)檎故镜捻?yè)面只有部分評(píng)論,還有大量的評(píng)論沒(méi)有被刷新出來(lái)。

這時(shí),我們應(yīng)該想到使用抓包來(lái)分析評(píng)論頁(yè)面刷新的規(guī)律。以后大部分爬蟲(chóng),都會(huì)先使用抓包技術(shù),分析出規(guī)律!

2、使用Fiddler進(jìn)行抓包分析——得出評(píng)論網(wǎng)址規(guī)律

fiddler如何抓包,這個(gè)知識(shí)點(diǎn),需要讀者自行去學(xué)習(xí),不在本博客討論范圍。

在這里插入圖片描述
在這里插入圖片描述

把上面兩張圖里面的內(nèi)容對(duì)比一下,可以知道這個(gè)JS就是評(píng)論存放頁(yè)面。(這需要大家一個(gè)一個(gè)找,一般Ajax都是在JS里面,所以這也找JS進(jìn)行對(duì)比即可)

我們復(fù)制這個(gè)JS的url:右擊 > copy > Just Url

大家可以重復(fù)操作幾次,多找?guī)讉€(gè)JS的url,從url得出規(guī)律。下圖是我刷新了4次得到的JS的url:

在這里插入圖片描述

根據(jù)上圖,我們發(fā)現(xiàn)url不同的地方有兩處:一是cursor=?;二是_=?。

我們很快就能發(fā)現(xiàn) _=?的規(guī)律,它是從1576567187273加1。而cursor=?的規(guī)律看不出來(lái)。這個(gè)時(shí)候找到它的規(guī)律呢?

(1)百度一下,看前人有沒(méi)有爬取過(guò)類(lèi)型的網(wǎng)站,根據(jù)他們的規(guī)律和方法,去找出規(guī)律;

(2)羊毛出在羊身上。我們需要有的大膽想法——會(huì)不會(huì)這個(gè)cursor=?可以根據(jù)上一個(gè)JS頁(yè)面得到呢?這只是很多大膽想法中的一個(gè),我們就一個(gè)想法一個(gè)想法的試試。

我們就采用第二種方法,去js里面找。復(fù)制其中一個(gè)url為:

url = https://video.coral.qq.com/varticle/3242201702/comment/v2?callback=_varticle3242201702commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6460163812968870071&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1576567187273

去瀏覽器里面打開(kāi),在里面搜索一下此url的下一個(gè)url的cursor=?的值。我們發(fā)現(xiàn)一個(gè)驚喜!

在這里插入圖片描述

如下:

一般情況下,我們還要多試幾次,確定我們的想法是正確的。

至此,我們發(fā)現(xiàn)了評(píng)論的url之間的規(guī)律:

  • _=?從1576567187273加1
  • cursor=?的值存在上面一個(gè)JS中。

三、代碼編寫(xiě)

import re
import random
import urllib.request

#構(gòu)建用戶代理
uapools=["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",
  "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
  "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0",
 ]
#從用戶代理池隨機(jī)選取一個(gè)用戶代理
def ua(uapools):
 thisua=random.choice(uapools)
 #print(thisua)
 headers=("User-Agent",thisua)
 opener=urllib.request.build_opener()
 opener.addheaders=[headers]
 #設(shè)置為全局變量
 urllib.request.install_opener(opener)

#獲取源碼
def get_content(page,lastId):
 url="https://video.coral.qq.com/varticle/3242201702/comment/v2?callback=_varticle3242201702commentv2&orinum=10&oriorder=o&pageflag=1&cursor="+lastId+"&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_="+str(page)
 html=urllib.request.urlopen(url).read().decode("utf-8","ignore")
 return html

#從源碼中獲取評(píng)論的數(shù)據(jù)
def get_comment(html):
 pat='"content":"(.*?)"'
 rst = re.compile(pat,re.S).findall(html)
 return rst
 
#從源碼中獲取下一輪刷新頁(yè)的ID
def get_lastId(html):
 pat='"last":"(.*?)"'
 lastId = re.compile(pat,re.S).findall(html)[0]
 return lastId

def main():
 ua(uapools)
 #初始頁(yè)面
 page=1576567187274
 #初始待刷新頁(yè)面ID
 lastId="6460393679757345760"
 for i in range(1,6):
 html = get_content(page,lastId)
 #獲取評(píng)論數(shù)據(jù)
 commentlist=get_comment(html)
 print("------第"+str(i)+"輪頁(yè)面評(píng)論------")
 for j in range(1,len(commentlist)):
  print("第"+str(j)+"條評(píng)論:" +str(commentlist[j]))
 #獲取下一輪刷新頁(yè)ID
 lastId=get_lastId(html)
 page += 1

main()

四、結(jié)果展示

在這里插入圖片描述

總結(jié)

以上所述是小編給大家介紹的Python爬取騰訊視頻評(píng)論,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • python生成隨機(jī)紅包的實(shí)例寫(xiě)法

    python生成隨機(jī)紅包的實(shí)例寫(xiě)法

    在本篇文章里小編給大家整理的是關(guān)于python生成隨機(jī)紅包的實(shí)例寫(xiě)法以及相關(guān)知識(shí)點(diǎn),有需要的朋友們可以學(xué)習(xí)下。
    2019-09-09
  • 對(duì)Pandas DataFrame缺失值的查找與填充示例講解

    對(duì)Pandas DataFrame缺失值的查找與填充示例講解

    今天小編就為大家分享一篇對(duì)Pandas DataFrame缺失值的查找與填充示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • windows7 32、64位下python爬蟲(chóng)框架scrapy環(huán)境的搭建方法

    windows7 32、64位下python爬蟲(chóng)框架scrapy環(huán)境的搭建方法

    這篇文章主要介紹了windows7 32、64位下python爬蟲(chóng)框架scrapy環(huán)境的搭建方法,需要的朋友可以參考下
    2018-11-11
  • pyqt5中動(dòng)畫(huà)的使用詳解

    pyqt5中動(dòng)畫(huà)的使用詳解

    這篇文章主要介紹了pyqt5中動(dòng)畫(huà)的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 用ldap作為django后端用戶登錄驗(yàn)證的實(shí)現(xiàn)

    用ldap作為django后端用戶登錄驗(yàn)證的實(shí)現(xiàn)

    這篇文章主要介紹了用ldap作為django后端用戶登錄驗(yàn)證的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python如何在列表尾部添加元素

    Python如何在列表尾部添加元素

    這篇文章主要介紹了Python如何在列表尾部添加元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 淺談python 四種數(shù)值類(lèi)型(int,long,float,complex)

    淺談python 四種數(shù)值類(lèi)型(int,long,float,complex)

    下面小編就為大家?guī)?lái)一篇淺談python 四種數(shù)值類(lèi)型(int,long,float,complex)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • Python必備shelve與dbm本地持久化存儲(chǔ)數(shù)據(jù)的兩個(gè)強(qiáng)大工具

    Python必備shelve與dbm本地持久化存儲(chǔ)數(shù)據(jù)的兩個(gè)強(qiáng)大工具

    當(dāng)涉及存儲(chǔ)大量數(shù)據(jù)并且需要高效訪問(wèn)時(shí),shelve和dbm模塊是Python中用于本地持久化存儲(chǔ)數(shù)據(jù)的兩個(gè)強(qiáng)大工具,它們?cè)试S開(kāi)發(fā)人員以鍵值對(duì)的形式存儲(chǔ)數(shù)據(jù),并支持快速的檢索和更新操作,在本文將深入探討這兩個(gè)模塊,展示它們的優(yōu)勢(shì)和應(yīng)用場(chǎng)景
    2024-01-01
  • Python處理unicode字符的方法詳解

    Python處理unicode字符的方法詳解

    這篇文章主要介紹了Python處理unicode字符的方法詳解,unicodedata中定義了所有Unicode字符的字符屬性,主要包含兩個(gè)功能,其一是根據(jù)名字查找字符;其二是給定字符查找其對(duì)應(yīng)的信息,需要的朋友可以參考下
    2023-08-08
  • TensorFlow深度學(xué)習(xí)另一種程序風(fēng)格實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)

    TensorFlow深度學(xué)習(xí)另一種程序風(fēng)格實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)

    這篇文章主要介紹了TensorFlow卷積神經(jīng)網(wǎng)絡(luò)的另一種程序風(fēng)格實(shí)現(xiàn)方式示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-11-11

最新評(píng)論

铜陵市| 博湖县| 黑水县| 郴州市| 湘西| 广昌县| 黄冈市| 莫力| 三江| 井冈山市| 鹤岗市| 阿巴嘎旗| 江华| 炎陵县| 南投市| 泸溪县| 姚安县| 安康市| 呼伦贝尔市| 竹北市| 普宁市| 苍南县| 萨迦县| 平南县| 姜堰市| 英山县| 镇平县| 昌平区| 许昌县| 新巴尔虎左旗| 金阳县| 偃师市| 新龙县| 南宫市| 广昌县| 黄山市| 云浮市| 边坝县| 翼城县| 吉水县| 瑞金市|