使用Python爬取某网某电影视评论

2022-02-09 1283阅读 0评论

前言

爬取时光里的长津湖之水门桥的影视评论,时光网采用的是 XHR技术,先加载骨架在加载详细内容,而加载详细内容的过程,就用到了 XHR 技术。

XHR 全称 XMLHttpRequest ,是浏览器内置的对象。浏览器想要在不刷新网页前提下加载、更新局部内容时,必须通过 XHR 向存放数据的服务器发送请求。

爬取

首先某网站的网站内容一般可以采用 CSS选择器来进行爬取,由于时光网采用的是 XHR技术,所以我们打开NetWork 面板,可以看到

使用Python爬取某网某电影视评论,1644343667.png,网,网站,服务器,代码,方法,服务,第1张

如上图所示,请求的URL是 API 请求的方法是 GET,接下来就是查看请求 URL 的的参数,可以把 API 链接拆分下来,也可以点击NetWork 的 Payload 按钮进行查询字符串查询操作,如下图:

使用Python爬取某网某电影视评论,1644344240.png,网,网站,服务器,代码,方法,服务,第2张

然后点击 预览按钮 获取 json 格式下对应的代码皆可如下图:

使用Python爬取某网某电影视评论,1644344744.png,网,网站,服务器,代码,方法,服务,第3张

到这里基本信息都掌握了,恭喜你也可以写出以下代码了:

import requests
import time
from datetime import datetime

# 头部和请求
headers = {
  'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.43',
  'Referer': 'http://movie.mtime.com/'
}

# 引入 session 对象
session = requests.Session()
# 设置 headers 为全局headers
session.headers.update(headers)

# 使用for循环爬取26页的评论
for num in range(1,27):
  params = {
    'tt':'{}'.format(int(time.time() * 1000)), # 
    'movieId':'271015', # id
    'pageIndex': '{}'.format(num), # 评论页数
    'pageSize': '20', # 每页评论条数
    'orderType': '2' # 类型 1 为热门评论,2 为最新评论
}
  # 影视评论的api
  res = session.get('http://front-gateway.mtime.com/library/movie/longCommentList.api',params = params)
  comments = res.json()['data']['list'] # api 参数
  
  for comment in comments: # 将参数循环
    print('用户:', comment['nickname'])
    print('评论:', comment['content'])
    # 本身时间戳为 Unix 引入 datetime 模块 的 fromtimestamp() 方法进行转换
    print('时间:', datetime.fromtimestamp(comment['commentTime']))
    time.sleep(1) # 防止被屏蔽,设置1秒爬取一条评论


我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3h1mgxxl8a2o0


版权声明
  本站致力于为模板爱好者提供国内外插件开发技术和模板共享,着力为用户提供优资资源。
  本站提供的所有下载文件均为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
  我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。
  站长会进行审查之后,情况属实的会在三个工作日内为您删除。

发表评论

快捷回复: 表情:
评论列表 (暂无评论,1283人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码