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

python 爬取騰訊視頻評論的實現(xiàn)步驟

 更新時間:2021年02月18日 09:52:29   作者: 春日宴  
這篇文章主要介紹了python 爬取騰訊視頻評論的實現(xiàn)步驟,幫助大家更好的理解和學習使用python爬蟲,感興趣的朋友可以了解下

一、網(wǎng)址分析

查閱了網(wǎng)上的大部分資料,大概都是通過抓包獲取。但是抓包有點麻煩,嘗試了F12,也可以獲取到評論。以電視劇《在一起》為例子。評論最底端有個查看更多評論猜測過去應該是 Ajax 的異步加載。
網(wǎng)上的大部分都是構(gòu)建評論的網(wǎng)址,通過 requests 獲取,正則表達式進行數(shù)據(jù)處理。本文也利用該方法進行數(shù)據(jù)處理,其實利用 scrapy 會更簡單。
根據(jù)前輩給出的經(jīng)驗,順利找到了評論所在的鏈接。

在新標簽中打開,該網(wǎng)址的鏈接。

評論都在"content":"xxxxx"里面,所有可以通過正則表達式獲取。
那么現(xiàn)在要開始構(gòu)建網(wǎng)址,找到其規(guī)律。
在查找評論鏈接的過程中無意發(fā)現(xiàn),點擊影評旁邊的評論總數(shù),可以獲取到更為干凈的評論界面。結(jié)果是一樣的。

既然是要爬取所有的評論,所以知道評論數(shù)是必不可少的。

再通過F12獲取到評論鏈接,找到網(wǎng)址的規(guī)律,構(gòu)建網(wǎng)址,加載三四個評論就行了。這里加載了四個網(wǎng)址。把所有網(wǎng)址復制到文本文件中,進行對比分析。

觀察發(fā)現(xiàn)只有 cursor 和 source 進行了改變,其他是不變的,二 source 是在第一個的基礎上進行加一操作,所以只需要獲取到 cursor 即可。我們打開一個評論鏈接的網(wǎng)址,我們可以知道,cursor 其實是上一頁 最后一個用戶的ID碼。所以我們只需要在爬取上一頁的時候一起爬蟲了。然后就可以構(gòu)建網(wǎng)址。

二、代碼編寫

這個代碼還是簡單的。套用之前上課做的模板就可以直接進行爬蟲了。
通過正則表達式獲取評論,返回一個列表;
正則表達式獲得的 cursor 碼是列表,所以要轉(zhuǎn)化為字符串使用;
source 很簡單了,直接在上一個的基礎上加一即可。

def getComment(html): # 爬取單頁評論

 findeComment = re.compile(r'"content":"(.*?)"', re.S)
 comment = re.findall(findeComment, html)
 # print(comment)
 return comment

def getCursor(html): # 獲取下一頁的cursor碼
 findeCursor = re.compile(r'"last":"(.*?)"', re.S)
 cursor = re.findall(findeCursor, html)[0]
 # print(cursor)
 return cursor


def getSource(source): # 獲取下一頁的source碼
 source = int(source) + 1
 return str(source)

有點難度的可能就送弄代理吧,但是代理可以模仿網(wǎng)上其他人的寫法,所以還是不是很難。

#添加用戶代理

def ua(uapools):
 thisua = random.choice(uapools)
 # print(thisua)
 headers = ("User-Agent", thisua)
 opener = urllib.request.build_opener()
 opener.addheaders = [headers]
 # 設置為全局變量
 urllib.request.install_opener(opener)

三、遇到的問題

1. 獲取評論的時候也將子評論爬蟲進去了。

仔細查看了源碼,發(fā)現(xiàn)評論主要在 data 下面的 oriCommList 列表里,其他范圍的評論為子評論。個人認為子評論也算有效評論,目前不打算處理。

2. 獲取全部評論數(shù),直接通過 requests 獲取不到

嘗試了 xpath 和 requests 發(fā)現(xiàn)不能獲取全部評論數(shù),所以目前只能通過 selenium 獲取,但是 selenium 效率太低了,就獲取一個評論總數(shù),還不如打開源碼直接修改評論總數(shù),所以暫時沒有修改

3. 評論總數(shù)數(shù)據(jù)太大

因為之前爬蟲過很多網(wǎng)站,同一個 user-agent 很容易被 ban ,所以目前構(gòu)建了用戶代理,然后進行隨機。其實還想加一個 ip 代理的,但是使用了 ip 代理的網(wǎng)址,上面寫的正常的 ip ,在使用的時候,拒絕連接。也嘗試過構(gòu)建代理池。但是代理池一般都是使用docker 和 Redis 進行獲取。暫時沒有選用,之選用了用戶代理,然后在獲取 headers 的時候加個 time.sleep(1)。目前還是正常的。

4. 報錯'utf-8' codec can't decode byte 0xff in position 1: invalid start byte

遇到這個問題,實在無語,我懷疑后面的評論是新出的 emjoy,然后utf-8不能識別,程序掛掉了。但是選取其他格式,在解釋的過程估計還會掛掉,就暫時爬到1萬條吧。

四、完整代碼

代碼倉庫

以上就是python 爬取騰訊視頻評論的實現(xiàn)步驟的詳細內(nèi)容,更多關于python 爬取騰訊視頻評論的資料請關注腳本之家其它相關文章!

相關文章

  • Django 返回json數(shù)據(jù)的實現(xiàn)示例

    Django 返回json數(shù)據(jù)的實現(xiàn)示例

    這篇文章主要介紹了Django 返回json數(shù)據(jù)的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Collatz 序列、逗號代碼、字符圖網(wǎng)格實例

    Collatz 序列、逗號代碼、字符圖網(wǎng)格實例

    下面小編就為大家?guī)硪黄狢ollatz 序列、逗號代碼、字符圖網(wǎng)格實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Python如何建立多個值和單個鍵的映射

    Python如何建立多個值和單個鍵的映射

    在Python中,常見的字典只能映射單個鍵到單個值,若需映射單個鍵到多值,可以通過將值存儲于列表或集合中實現(xiàn),使用列表可以保持元素插入順序,而使用集合則可以去重,collections模塊的defaultdict類簡化了此類多值字典的創(chuàng)建過程
    2024-09-09
  • Python動態(tài)演示旋轉(zhuǎn)矩陣的作用詳解

    Python動態(tài)演示旋轉(zhuǎn)矩陣的作用詳解

    一個矩陣我們想讓它通過編程,實現(xiàn)各種花樣的變化怎么辦呢?下面這篇文章主要給大家介紹了關于Python動態(tài)演示旋轉(zhuǎn)矩陣的作用,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Python使用sklearn實現(xiàn)的各種回歸算法示例

    Python使用sklearn實現(xiàn)的各種回歸算法示例

    這篇文章主要介紹了Python使用sklearn實現(xiàn)的各種回歸算法,結(jié)合實例形式分析了Python使用sklearn庫實現(xiàn)的決策樹回歸、線性回歸、SVM回歸、KNN回歸、隨機森林回歸等各種回歸算法,需要的朋友可以參考下
    2019-07-07
  • Python 列表推導式與字典推導式的實現(xiàn)

    Python 列表推導式與字典推導式的實現(xiàn)

    本文主要介紹了Python 列表推導式與字典推導式的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • pandas時間序列之pd.to_datetime()的實現(xiàn)

    pandas時間序列之pd.to_datetime()的實現(xiàn)

    本文主要介紹了pandas時間序列之pd.to_datetime()的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>
    2022-06-06
  • Python使用matplotlib簡單繪圖示例

    Python使用matplotlib簡單繪圖示例

    這篇文章主要介紹了Python使用matplotlib簡單繪圖,結(jié)合實例形式分析了Python基于matplotlib繪制正弦與余弦曲線相關操作技巧,需要的朋友可以參考下
    2018-02-02
  • Numpy之文件存取的示例代碼

    Numpy之文件存取的示例代碼

    這篇文章主要介紹了Numpy之文件存取的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • Python/R語言分別實現(xiàn)斐波那契數(shù)列的示例詳解

    Python/R語言分別實現(xiàn)斐波那契數(shù)列的示例詳解

    這篇文章將通過兩個小問題:年齡計算、斐波那契數(shù)列,帶領大家深入淺出的理解兩種語言的基本語法,并用以實際場景,需要的可以參考一下
    2022-03-03

最新評論

巫溪县| 赣榆县| 黄大仙区| 嵊泗县| 铜梁县| 关岭| 南靖县| 江陵县| 会泽县| 扶风县| 辽中县| 平陆县| 三原县| 咸宁市| 尚志市| 额济纳旗| 邢台县| 乳源| 中西区| 璧山县| 乾安县| 桑日县| 上林县| 新乡县| 沙河市| 鹤峰县| 宽甸| 织金县| 乌兰察布市| 灵山县| 乌拉特前旗| 香港| 肥城市| 偏关县| 邵阳市| 辛集市| 揭西县| 彭阳县| 大余县| 景泰县| 东阿县|