腾讯视频短评爬取--斗罗大陆

 
########################### 斗罗大陆短评爬取 #################################

import urllib.request
import re

cursor = "6393416078681683802"  # 爬虫开始爬取的第一条评论的编号
orinum = "10"                   # 每页十条评论
orirepnum = "0"                 # 每条评论下的回复数(同样为评论)
vid = "2369303789"              # 斗罗大陆的编号

# 通过Fiddler抓取JS文件,并提取其评论的URL,如下所示:
# https://video.coral.qq.com/varticle/1743283224/comment/v2?callback=_varticle1743283224commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6360110638996097228&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1552440991386
# https://video.coral.qq.com/varticle/1743283224/comment/v2?callback=_varticle1743283224commentv2&orinum=10&oriorder=o&pageflag=1&cursor=6411116569243258049&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1552440991387

# 总结url的规律
url = "https://video.coral.qq.com/varticle/" + vid + "/comment/v2?orinum=" + orinum + "&oriorder=o&pageflag=1&cursor=" + cursor + "&orirepnum=" + orirepnum

# 模拟浏览器,并将报头安装为全局
headers = {
           'User-Agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36",
           "Content-Type":"application/javascript"
           }
headall =[]
for k,v in headers.items():
    item = (k,v)
    headall.append(item)
opener = urllib.request.build_opener()
opener.addheaders = headall
urllib.request.install_opener(opener)

f=open("D:\\Py_Projects\\腾讯视频(短评)评论爬取-斗罗大陆.txt","w+",encoding="utf-8",errors='ignore')
# 爬取20页的评论
for j in range(0,20):
    print("第%d页" % (j+1))
    thispage = urllib.request.urlopen(url).read().decode("utf-8")
    comentpat = '"content":"(.*?)"'
    lastpat ='"last":"(.*?)"'
    commentall = re.compile(comentpat).findall(thispage)
    last = re.compile(lastpat,re.S).findall(thispage)[0]
    url =  "https://video.coral.qq.com/varticle/" + vid + "/comment/v2?orinum=" + orinum + "&oriorder=o&pageflag=1&cursor=" + last + "&orirepnum=" + orirepnum
    try:
        for i in range(0,len(commentall)):
            print("第"+str(j+1)+"-"+str(i+1)+"条评论内容为:")
            print(eval('u"' + commentall[i]+'"'))
            print(eval('u"' + commentall[i]+'"'),file = f)
    except Exception as e:
        print(e)
f.close()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值