Python3 爬虫16_抓取腾讯视频评论内容

Posted 奔跑的金鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

以上是关于Python3 爬虫16_抓取腾讯视频评论内容的主要内容,如果未能解决你的问题,请参考以下文章

最新更新版-基于python3实现的抓取腾讯视频所有电影的爬虫-亲测可用

Python3 爬虫15_Fiddler抓包分析

Python爬虫实现抓取腾讯视频所有电影实战必学

网络爬虫抓取某年份腾讯新闻内容

今天清华大佬教你用Python爬虫,爬取腾讯视频评论,机会难得还不点击进来看看

用python 抓取B站视频评论,制作词云