国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python 爬取騰訊視頻評論的實現步驟

瀏覽:17日期:2022-06-27 17:25:39
一、網址分析

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

python 爬取騰訊視頻評論的實現步驟

在新標簽中打開,該網址的鏈接。

python 爬取騰訊視頻評論的實現步驟

評論都在'content':'xxxxx'里面,所有可以通過正則表達式獲取。那么現在要開始構建網址,找到其規律。在查找評論鏈接的過程中無意發現,點擊影評旁邊的評論總數,可以獲取到更為干凈的評論界面。結果是一樣的。

python 爬取騰訊視頻評論的實現步驟

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

python 爬取騰訊視頻評論的實現步驟

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

python 爬取騰訊視頻評論的實現步驟

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

python 爬取騰訊視頻評論的實現步驟

二、代碼編寫

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

def getComment(html): # 爬取單頁評論 findeComment = re.compile(r’'content':'(.*?)'’, re.S) comment = re.findall(findeComment, html) # print(comment) return commentdef getCursor(html): # 獲取下一頁的cursor碼 findeCursor = re.compile(r’'last':'(.*?)'’, re.S) cursor = re.findall(findeCursor, html)[0] # print(cursor) return cursordef getSource(source): # 獲取下一頁的source碼 source = int(source) + 1 return str(source)

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

#添加用戶代理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. 獲取評論的時候也將子評論爬蟲進去了。

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

python 爬取騰訊視頻評論的實現步驟

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

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

3. 評論總數數據太大

因為之前爬蟲過很多網站,同一個 user-agent 很容易被 ban ,所以目前構建了用戶代理,然后進行隨機。其實還想加一個 ip 代理的,但是使用了 ip 代理的網址,上面寫的正常的 ip ,在使用的時候,拒絕連接。也嘗試過構建代理池。但是代理池一般都是使用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 爬取騰訊視頻評論的實現步驟

四、完整代碼

代碼倉庫

以上就是python 爬取騰訊視頻評論的實現步驟的詳細內容,更多關于python 爬取騰訊視頻評論的資料請關注好吧啦網其它相關文章!

標簽: 騰訊 視頻 Python
相關文章:
主站蜘蛛池模板: 美女黄网站人色视频免费国产 | 欧美亚洲国产精品久久高清 | 日本视频免费在线播放 | 69中国xxxxxxxx18| 久久免费视屏 | 精品国产香港三级 | 国产一级aa大片毛片 | 亚洲经典在线观看 | 亚洲欧美视频在线播放 | 精品精品国产自在久久高清 | 美国一级毛片片aaa 美国一级毛片片aa成人 | www.日本免费 | 欧美不卡视频在线观看 | 99视频在线播放 | 亚洲天堂网视频 | 免费观看欧美成人h | 99久久综合给久久精品 | 一区二区三区免费看 | 亚洲一区二区三区成人 | 中国成人免费视频 | 国产乱码精品一区二区三上 | 成人国产精品免费视频不卡 | 国产一区二区三区日韩欧美 | 黄色国产网站 | 国产3级在线观看 | 麻豆国产96在线 | 中国 | 欧美黄成人免费网站大全 | 国产男女交性视频播放免费bd | 久久精品视频免费 | 欧美日韩乱国产 | 免费看欧美一级特黄a大片一 | 亚洲三级在线播放 | 久在线观看视频 | 欧美日韩国产高清一区二区三区 | 欧美一线不卡在线播放 | 亚洲免费观看网站 | vvvv99日韩精品亚洲 | 久久6视频| 在线高清国产 | 国产自在线观看 | 在线亚洲v日韩v |