【Python3 爬蟲】16_抓取騰訊視頻評論內容


上一節我們已經知道如何使用Fiddler進行抓包分析,那么接下來我們開始完成一個簡單的小例子

抓取騰訊視頻的評論內容

首先我們打開騰訊視頻的官網https://v.qq.com/

image

我們打開【電視劇】這一欄,找到一部比較精彩的電視劇爬取一下,例如:我們就爬取【下一站,別離】這部吧

我們找到這部電視劇的評論如下圖:

 

image

我們看到上圖標記部分【查看更多評論】

我們首先在Fiddelr中使用命令clear清除之前瀏覽的記錄

image

輸入命令直接回車即可

接着我們點擊【查看更多評論】,此時再次看Fiddler,我們可以看到【JS】這個小圖標

image

我們右鍵上圖標記部分

第一次點擊

接着【Copy】---【Just Url】

地址為:

https://video.coral.qq.com/varticle/2580302776/comment/v2?callback=_varticle2580302776commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6392930402023585386&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=9&_=1524713312689

我們將此地址放到瀏覽器查看效果如何?

image

現在我們還沒發現什么規律,那我們再點擊一次

第二次點擊

地址為:https://video.coral.qq.com/varticle/2580302776/comment/v2?callback=_varticle2580302776commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6394261147223571180&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=9&_=1524713312690

瀏覽器顯示

image

我們將上述2個地址放在word進行分析后,分析結果如下:

image

我們可以看到黃色標記部分沒什么規律,最后紅色標記是按1遞增

那么我們驗證下黃色標記部分是否是必須的呢?刪除黃色部分放在瀏覽器執行,查看結果,有沒有黃色部分結果一致,那么我們接下來開始代碼了

import urllib.request
import re
import urllib.error
headers=("User_Agent","Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0")
#自定義opener
opener = urllib.request.build_opener()
opener.addheaders = [headers]
urllib.request.install_opener(opener)

cursor_id = '6394260346548095809'
v_id =1524402700840
url = "https://video.coral.qq.com/varticle/2580302776/comment/v2?callback=_varticle2580302776commentv2&orinum=10&oriorder=o&pageflag=1&cursor="+cursor_id+"&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=9&_="+str(v_id)
for i in range(0,10):
	content = urllib.request.urlopen(url).read().decode("utf-8")
	patnext = '"last":"(.*?)"'
	nextid = re.compile(patnext).findall(content)[0]
	patcomment = '"content":"(.*?)",'
	comment_content = re.compile(patcomment).findall(content)
	for j in range(1,len(comment_content)):
		print("-----第"+str(i)+str(j)+"條評論內容是:")
		#print(eval("u"+"\'"+comment_content[j]+"\'"))
		try:
			t1 = comment_content[j].encode('latin-1').decode('unicode_escape')
			print(t1)
		except Exception as e:
			print("***********該條評論含有有特殊字符************")
	url="https://video.coral.qq.com/varticle/2580302776/comment/v2?callback=_varticle2580302776commentv2&orinum=10&oriorder=o&pageflag=1&cursor="+nextid+"&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=9&_="+str(v_id+i)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM