【Python3 爬虫】16_抓取腾讯视频评论内容
上一节我们已经知道如何使用Fiddler进行抓包分析,那么接下来我们开始完成一个简单的小例子
抓取腾讯视频的评论内容
首先我们打开腾讯视频的官网https://v.qq.com/
我们打开【电视剧】这一栏,找到一部比较精彩的电视剧爬取一下,例如:我们就爬取【下一站,别离】这部吧
我们找到这部电视剧的评论如下图:
我们看到上图标记部分【查看更多评论】
我们首先在Fiddelr中使用命令clear清除之前浏览的记录
输入命令直接回车即可
接着我们点击【查看更多评论】,此时再次看Fiddler,我们可以看到【JS】这个小图标
我们右键上图标记部分
第一次点击
接着【Copy】---【Just Url】
地址为:
我们将此地址放到浏览器查看效果如何?
现在我们还没发现什么规律,那我们再点击一次
第二次点击
浏览器显示
我们将上述2个地址放在word进行分析后,分析结果如下:
我们可以看到黄色标记部分没什么规律,最后红色标记是按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)
作者:奔跑的金鱼
声明:书写博客不易,转载请注明出处,请支持原创,侵权将追究法律责任
个性签名:人的一切的痛苦,本质上都是对自己无能的愤怒
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!