某IC交易网 js逆向解析学习【2024/03/7】更新

文章目录

前言

可以关注我哟,一起学习,主页有更多练习例子
如果哪个练习我没有写清楚,可以留言我会补充
如果有加密的网站可以留言发给我,一起学习共享学习路程
如侵权,联系我删除
此文仅用于学习交流,请勿于商用,否则后果自负

之前的过期了,然后我见好多私信我的都问,我今天统一更新一篇吧,其实不难就是刚开始有点绕,浪费我一下午时间看逻辑

网址

aHR0cHM6Ly9pY3BpLmljLm5ldC5jbi9pY3BpL2RldGFpbC5waHA/a2V5PVNUUDROMTUw

确定

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
首先,需要分析该网站的页面结构和请求方式。通过浏览器开发者工具可以发现,该网站使用了动态加载的方式展示视频列表,需要通过JS逆向来获取数据。 以下是获取该网站前10页视频信息的代码: ```python import requests import execjs import re # 通过JS逆向获取视频列表数据 def get_video_data(page): # 构造请求URL url = 'https://pcw-api.iqiyi.com/video/video/hotplaytimelist' params = { 'agenttype': '118', 'agentversion': '9.19.0', 'businessplatform': 'pcw', 'channel_id': '1', 'cid': 'qc_100001_300102', 'dim': '2', 'hot_size': '10', 'is_purchase': '0', 'mode': '24', 'need_video_info': '1', 'page': page, 'ret_num': '10', 'site': 'iqiyi', 'version': '9.19.0' } headers = { 'Referer': 'https://www.iqiyi.com/u/1290995902/videos', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36' } # 发送请求并获取响应数据 response = requests.get(url, params=params, headers=headers) data = response.json()['data'] # 解析数据 video_list = [] for item in data: title = item['videoName'] url = 'https://www.iqiyi.com' + item['playUrl'] hot = item['playCount'] comment_url = 'https://sns-comment.iqiyi.com/v3/comment/get_comments.action' comment_params = { 'agentversion': '9.19.0', 'businessplatform': 'pcw', 'cid': item['albumId'], 'content_id': item['videoId'], 'hot_size': '0', 'last_id': '', 'need_reply': '0', 'page': '1', 'page_size': '10', 'types': 'hot,time', 'version': '9.19.0' } comment_headers = { 'Referer': 'https://www.iqiyi.com/v_' + item['videoId'] + '.html', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36' } comment_response = requests.get(comment_url, params=comment_params, headers=comment_headers) comment_data = comment_response.json()['data'] comment_count = 0 for type in comment_data: comment_count += type['total'] video_list.append({ 'title': title, 'url': url, 'hot': hot, 'comment_count': comment_count }) return video_list # 获取前10页视频信息 video_data = [] for page in range(1, 11): video_data += get_video_data(page) # 输出结果 for video in video_data: print('标题:', video['title']) print('URL:', video['url']) print('当前热度:', video['hot']) print('评论数:', video['comment_count']) print('\n') ``` 代码中,首先构造请求URL,并发送请求获取响应数据。然后解析响应数据,获取视频信息(标题、URL、当前热度、评论数)。最后将所有视频信息存储在列表中,并输出结果。 需要注意的是,获取评论数需要发送另外一个请求,并解析响应数据。请求URL和参数需要根据视频信息动态构造。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

八月欢喜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值