Python爬虫--Ajax异步抓取腾讯视频评论

在某些网站 ,当我们滑下去的时候才会显示出后面的内容

就像淘宝一样,滑下去才逐渐显示其他商品

这个就是采用 Ajax 做的

然后我们现在就是要编写这样的爬虫。

规律分析:

这个时候就要用到我们的 Fiddler 了

我们需要分析加载评论的规律

首先使用火狐浏览器随便打开一个视频,注意设置好代理

然后打开 Fiddler 抓包 ,然后再点击查看更多评论,

拿魔道祖师演示吧,毕竟我也喜欢看

就是这个位置

images


然后查看 Fiddler

抓到的东西就很多杂七杂八的了,

有链接啊,图片什么的,这些显然不是评论

images


然后查看一个 js 文件 ,发现这就是我们想要的评论

images


然后把评论的 url 复制出来分析规律

右键点击 js 链接,然后再选择 Copy –> Just Url

images


如果一条分析不了,那么我们就多加载一两条看看

这样我们就有了三条做分析了

images


首先看这个地方,

这个应该是这部视频的 id 2850613872

images


接下来是评论 id

但是貌似 id 都不一样,我可以打开评论链接看看有没有规律

images


打开第一个评论链接,

然后发现第一个评论链接里的 last 6426734762166565246 正好是第二条评论链接里面的 id

然后查看其他的,发现依旧如此

然后我们就得到了一个结论,

就是第一条评论链接里面的 last id 等于 第二条评论链接里面的 id

images


发现评论 id 的规律后,

接下来就是评论了

评论内容在 content 里面

images


后面这个字符串的话

前十位是时间戳,后面三位没有发现有啥规律

太菜了我

推测可能是评论数

不过有没有这个字符串短时间内不影响我们获取评论内容

这个感觉就是一个时间限制,在一定时间内有效

images


只抓取一页的评论:

知道规律后

可以试试抓取评论内容

接下来我们尝试只抓取一个链接里面的内容

代码:


import urllib.request
import re
import time

headers = (

	"User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"

	)

opener = urllib.request.build_opener()

opener.addheaders = [headers]

urllib.request.install_opener(opener)

video_id = "2850613872"

comment_id = "6422202556761345058"

url = "https://video.coral.qq.com/varticle/"+video_id+"/comment/v2?callback=_varticle2850613872commentv2&orinum=10&oriorder=o&pageflag=1&cursor="+comment_id+"&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1566709851532"

path = '"content":"(.*?)",'

data = urllib.request.urlopen(url).read().decode("utf-8")

resut = re.compile(path).findall(data)

print(resut)

然后就获取到了一页的评论 😂😂 ❤❤ 🙃🙃 (눈_눈)(눈_눈)

😡😡 😊😊 😄😄 🤣🤣 😒😒 🤬🤬 😘😘

images


自动抓取全部评论:

接下来就要抓取全部评论了

思路:

获取 last id 作为下一次链接的评论 id

代码:


import urllib.request
import re
import time

try:

	headers = (

	"User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"

	)

	opener = urllib.request.build_opener()

	opener.addheaders = [headers]

	urllib.request.install_opener(opener)

	video_id = "2850613872"  #  视频 id

	comment_id = "6422202556761345058"  #  初始评论 id

	for i in range(1,6):

		print("第"+str(i)+"页")

		url = "https://video.coral.qq.com/varticle/"+video_id+"/comment/v2?callback=_varticle2850613872commentv2&orinum=10&oriorder=o&pageflag=1&cursor="+str(comment_id)+"&scorecursor=0&orirepnum=2&reporder=o&reppageflag=1&source=132&_=1566709851532"

		content_path = '"content":"(.*?)",'  #  评论内容正则

		last_path = '"last":"(.*?)",'  #  last id 正则

		content_data = urllib.request.urlopen(url).read().decode("utf-8")

		content = re.compile(content_path).findall(content_data)  #  获取评论

		last_id = re.compile(last_path).findall(content_data)  # 获取 last id

		for j in last_id:  #  获取的 last id 是列表类型,要进行类型转换

			comment_id = j

		# print(comment_id)

		print(content)  #  输出获取的评论

except Exception as error:

	print(error)

然后成功获取到评论

运行截图

images

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发的Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计思路至关重要。 文档与操作手册:为了方便他人理解和使用我的作品,我编写了详细的操作手册和使用说明,同时提供了一份Markdown格式的文档,概述了项目的主要功能和特点。 学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议: 按部就班地学习:建议从基础的Python爬虫开发开始,逐步深入到实际应用中。通过实践,逐步掌握Python爬虫开发的各项技能。 参考项目文件和笔记:项目文件和笔记提供了丰富的背景信息和开发经验。在学习的过程中,不妨参考这些资料,以帮助你更好地理解和学习。 动手实践:Python爬虫开发是一门实践性很强的技能。通过实际操作,你可以更好地掌握Python爬虫开发的各项技能,并提高自己的实践能力。Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发的Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计思路至关重要。 文档与操作手册:为了方便他人理解和使用我的作品,我编写了详细的操作手册和使用说明,同时提供了一份Markdown格式的文档,概述了项目的主要功能和特点。 学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议: 按部就班地学习:建议从基础的Python爬虫开发开始,逐步深入到实际应用中。通过实践,逐步掌握Python爬虫开发的各项技能。 参考项目文件和笔记:项目文件和笔记提供了丰富的背景信息和开发经验。在学习的过程中,不妨参考这些资料,以帮助你更好地理解和学习。 动手实践:Python爬虫开发是一门实践性很强的技能。通过实际操作,你可以更好地掌握Python爬虫开发的各项技能,并提高自己的实践能力。Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发的Python爬虫工具项目,主要用于合法爬取某些网页信息。以下是主要内容: 源代码:包括Python代码和相关脚本。这些代码展示了如何使用Python进行网页抓取、解析和数据提取。 项目文件:除了代码,我还分享了整个项目的文件,包括设计稿、图标、图片等资源。这些资源对于理解项目背景和设计思路至关重要。 文档与操作手册:为了方便他人理解和使用我的作品,我编写了详细的操作手册和使用说明,同时提供了一份Markdown格式的文档,概述了项目的主要功能和特点。 学习笔记:在项目开发过程中,我记录了大量的学习笔记和心得体会。这些笔记不仅有助于理解项目的开发过程,还能为学习Python爬虫技术提供宝贵的参考资料。 适用人群: 这份项目合集适用于所有对Python爬虫开发感兴趣的人,无论你是学生、初学者还是有一定经验的开发者。无论你是想学习新的技术,还是想了解一个完整的项目开发流程,这份资料都将为你提供极大的帮助。 使用建议: 按部就班地学习:建议从基础的Python爬虫开发开始,逐步深入到实际应用中。通过实践,逐步掌握Python爬虫开发的各项技能。 参考项目文件和笔记:项目文件和笔记提供了丰富的背景信息和开发经验。在学习的过程中,不妨参考这些资料,以帮助你更好地理解和学习。 动手实践:Python爬虫开发是一门实践性很强的技能。通过实际操作,你可以更好地掌握Python爬虫开发的各项技能,并提高自己的实践能力。Python合法网页爬虫工具项目分享 内容概览: 这个分享包涵了我开发的Python爬虫

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余十步

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值