Python爬取腾讯视频评论

通过简单的爬虫,爬取腾讯视频中的评论

进入腾讯视频首页,随机点进一个视频,在视频页复制一个评论,查看网页源码,ctrl + f 查找该评论,发现并没有该评论。
打开Fiddler进行抓包分析,刷新当前页面,找到相应的json文件,如下图:
在这里插入图片描述
复制该链接的URL,在浏览器中打开,可以看到具体的文本内容,可通过正则表达式提取评论。该页面只显示了一部分评论,我们点击查看更多评论,在Fiddler中找到更多评论的URL,然后对其进行分析:
在这里插入图片描述
我们可以观察链接只有一串数字不同,确定下一页评论的数字就可以获取更多的评论,fortunately , 在第一个网页中我们找到了这串数字,如下图:
在这里插入图片描述
编写代码:

import re
import urllib.request

urlPage = "https://video.coral.qq.com/varticle/5425558456" \
          "/comment/v2?callback=_varticle5425558456commentv2&orinum=10&oriorder=o&pageflag=1&cursor=0" \
          "&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1592902226279"
pattern1 = 'content":"(.*?)","up"'  # 提取评论的正则表达式
pattern2 = 'last":"(.*?)"'  # 提取下一页的正则表达式
data = urllib.request.urlopen(urlPage).read().decode("utf-8", "ignore")
nextNum = re.compile(pattern2).findall(data)  # 提取下一页URL中的数字
commentList = re.compile(pattern1).findall(data)
file = open("C:/Users/Echo/Desktop/result/comment.txt", "w", errors="ignore")
while len(commentList) > 0:
    for i in range(len(commentList)):  # 写入本地文件
        file.write(commentList[i] + "\n")  
    nextUrl = "https://video.coral.qq.com/varticle/5425558456/comment/v2?callback=_varticle5425558456commentv2&" \
              "orinum=10&oriorder=o&pageflag=1&cursor=" + str(nextNum[0]) + "&scorecursor=0&orirepnum=2&reporder=o&" \
              "reppageflag=1&source=132&_=1592902226279"    # 生成下一页的URL
    data = urllib.request.urlopen(nextUrl).read().decode("utf-8", "ignore")  # 获取信息
    nextNum = re.compile(pattern2).findall(data)   # 提取下一页URL中的数字
    commentList = re.compile(pattern1).findall(data)

执行结果:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值