Python实现Up数据信息采集 <内含JS逆向解密>

这篇具有很好参考价值的文章主要介绍了Python实现Up数据信息采集 <内含JS逆向解密>。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

Python实现Up数据信息采集 <内含JS逆向解密>,python爬虫,python,javascript,开发语言,pycharm,学习

环境使用:

  • python 3.8 >>> 运行代码

  • pycharm 2021.2 >>> 辅助敲代码

模块使用:

第三方模块 需要安装

  • import requests >>> 导入数据请求模块

内置模块 你安装好python环境就可以了

  • import datetime >>> 对日期数据进行处理的主要模块

  • import hashlib >>> 提供了多种安全方便的摘要方法

  • import time >>> 主要用于时间的操作和转换

  • import csv >>> 一种通用的文件格式

第三方模块安装:

win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安装速度比较慢, 你可以切换国内镜像源)

Python实现Up数据信息采集 <内含JS逆向解密>,python爬虫,python,javascript,开发语言,pycharm,学习

python资料、源码、教程\福利皆: 点击此处跳转文末名片获取

实现基本流程:

一. 数据来源分析

  1. 明确需求

    • 明确采集网站以及数据

      数据: 视频基本信息: 标题 播放量 评论 弹幕 上传时间 …

  2. 抓包分析

    • 打开开发者工具: F12 / 右键点击检查选择network

    • 点击网页下一页 --> XHR 第一条数据包就是我们需要的内容

二. 代码实现步骤 <固定四个大步骤>

  1. 发送请求, 模拟浏览器对于url地址发送请求

    请求链接: 数据包链接

  2. 获取数据, 获取服务器返回响应数据

    开发者工具: response

  3. 解析数据, 提取我们需要的数据内容

    视频基本信息

  4. 保存数据, 把信息数据保存表格文件

Python实现Up数据信息采集 <内含JS逆向解密>,python爬虫,python,javascript,开发语言,pycharm,学习

代码展示:

导入模块

import time
import requests
# 导入格式化输出模块
from pprint import pprint
import datetime
import csv
import hashlib
f = open('信息.csv', mode='w', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '标题',
    '描述',
    'BV号',
    '播放量',
    '弹幕',
    '评论',
    '时长',
    '上传时间',
])
csv_writer.writeheader()
  • 模拟浏览器: headers 请求头

    字典数据类型, 构建完整键值对形式

  • 请求链接:

    请求链接和请求参数分开写

    问号前面: 请求链接

    问号后面: 请求参数/查询参数

  • 批量替换:

    1. 选择替换内容, ctrl+R

    2. 输入正则命令进行匹配替换

      (.?): (.)
      ‘$1’: ‘$2’,

模拟浏览器 -> 基本反反爬虫措施

headers = {
    # 用户代理 表示浏览器基本身份信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
for page in range(1, 11):
    string = f'keyword=&mid=517327498&order=pubdate&order_avoided=true&platform=web&pn={page}&ps=30&tid=0&web_location=1550101&wts={int(time.time())}6eff17696695c344b67618ac7b114f92'

实例化对象

    md5_hash = hashlib.md5()
    md5_hash.update(string.encode('utf-8'))

请求链接

    url = 'https://api.****.com/x/space/wbi/arc/search'

请求参数

    data = {
        'mid': '517327498',
        'ps': '30',
        'tid': '0',
        'pn': page,
        'keyword': '',
        'order': 'pubdate',
        'platform': 'web',
        'web_location': '1550101',
        'order_avoided': 'true',
        'w_rid': md5_hash.hexdigest(),
        'wts': int(time.time()),
    }

发送请求 <Response [200]> 响应对象 表示请求成功

    response = requests.get(url=url, params=data, headers=headers)
获取响应数据:
 
    - response.json() 获取响应json数据
     
        <字典数据类型>

    - response.text 获取响应文本数据
      
        <网页源代码 字符串数据>

    - response.content 获取响应二进制数据数据
     
        <获取图片/视频/音频/特定格式文件>    

字典数据 --> 键值对取值
    
    根据冒号左边的内容[键], 提取冒号右边的内容[值]

response.json()['data']['list']['vlist'] --> 返回列表
    
    列表里面包含整个网页视频信息 <N个视频内容>

列表 / 字典 / 集合 / 元组 --> 数据容器 <装东西的盒子>

    lis = [1, 2, 3, 4, 5] --> for循环遍历, 把列表里面内容一个一个单独提取
for li in lis:
    # 从lis这个盒子里面, 把元素<东西> 拿出来, 用li变量接收

print(index)    输入一行效果
pprint(index)   多行展开效果
    for index in response.json()['data']['list']['vlist']:
        # 时间戳 时间节点 --> 上传视频时间点
        date = index['created']
        dt = datetime.datetime.fromtimestamp(date)
        dt_time = dt.strftime('%Y-%m-%d')
        dit = {
            '标题': index['title'],
            '描述': index['description'],
            'BV号': index['bvid'],
            '播放量': index['play'],
            '弹幕': index['video_review'],
            '评论': index['comment'],
            '时长': index['length'],
            '上传时间': dt_time,
        }

写入数据

        csv_writer.writerow(dit)
        print(dit)

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

Python实现Up数据信息采集 <内含JS逆向解密>,python爬虫,python,javascript,开发语言,pycharm,学习

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇文章来源地址https://www.toymoban.com/news/detail-606094.html

到了这里,关于Python实现Up数据信息采集 <内含JS逆向解密>的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python批量爬取B站法外狂徒张三所有视频【含jS逆向解密】

    传说中,有人因为只是远远的看了一眼法外狂徒张三就进去了😂 我现在是获取他视频,岂不是直接终生了🤩 网友:赶紧跑路吧 😏 好了话不多说,我们直接开始今天的内容吧! 环境使用 Python 3.8 Pycharm 模块使用 import requests import csv import datetime import hashlib import time 爬虫实现

    2024年02月14日
    浏览(34)
  • 采集B站up主视频信息

    一、网页信息(示例网址:https://space.bilibili.com/3493110839511225/video) 二、查看响应数据 三、查看数据包内容 四、相关代码(代码内容未进行翻页爬取) 五、爬取内容

    2024年01月21日
    浏览(43)
  • 为了防止这个网站被各位爬崩,我连夜用Python下载了上万张壁纸(附网站JS逆向解密)

    每当一个网站崩溃,在座的各位都有一定的责任。 当一个爬虫教程不火的时候还好,火起来了,就到了考验网站服务器的时候了,上一次茶杯狐就是这样,还好人家顽强…   好了话不多说,直接开始。 首先就是必备的软件和模块 环境使用   模块使用   前两个是第三方模块

    2024年02月07日
    浏览(48)
  • JS逆向 webpack解密

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 前言:我技术可能不是很牛逼,但我很会偷懒,怎么简单怎么来,所以有更好的解密方法可以在评论区评论~ 目标网站:这个网站很坑,那个验证字段搜不到,XHR断点也断不到,就

    2024年02月06日
    浏览(34)
  • 使用Python获取建筑网站数据,进行可视化分析,并实现网站JS解密!

    哈喽兄弟们,今天来实现一下建筑市场公共服务平台的数据采集,顺便实现一下网站的JS解密。 话不多说,我们直接开始今天的内容。   首先我们需要准备这些 环境使用 Python 3.8 Pycharm 模块使用 requests -- pip install requests execjs -- pip install PyExecJS json 爬虫基本流程思路 一. 数据

    2024年02月08日
    浏览(52)
  • 【爬虫逆向案例】某道翻译js逆向—— sign解密

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 相信各位小伙伴在写爬虫的时候经常会遇到这样的情况,一些需要携带的参数一直在变化,今天逆向的这个网站某道翻译也如此: 可以发现变的就两个参数,一个 sign,一个是 m

    2024年02月15日
    浏览(45)
  • 【爬虫逆向案例】某易云音乐(评论)js逆向—— params、encSecKey解密

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! 今天逆向的这个网站 某易云音乐 歌曲的评论列表 而要拿到评论列表爬虫发送的表单需要两个参数 params 和 encSecKey。这两个玩意是加密的,所以重点就是怎么搞定这两个参数。 话

    2024年02月14日
    浏览(44)
  • 网页爬虫之WebPack模块化解密(JS逆向)

    WebPack打包: webpack是一个基于模块化的打包(构建)工具, 它把一切都视作模块。 概念: webpack是 JavaScript 应用程序的模块打包器,可以把开发中的所有资源(图片、js文件、css文件等)都看成模块,通过loader(加载器)和plugins(插件)对资源进行处理,打包成符合生产环境部署

    2024年02月02日
    浏览(45)
  • JS逆向加密解密工具Crypto Magician、乐易助手、WT-JS 下载使用

    方便开发者更好的定位加密算法,提高了开发的效率,必备神器; 提示:以下是本篇文章正文内容,下面案例可供参考 下载地址:https://pan.baidu.com/s/13IxwJyIbKokpXdB4d42IOQ?pwd=chhj 消息摘要算法 对称加密算法 非对称加密算法 下载地址:https://pan.baidu.com/s/17ir4KJaXte1e88l7VfMs5A?pwd=mn1

    2024年02月11日
    浏览(77)
  • 【Python爬虫实战】汽车城最好的十款车,第一名竟是这款车...Python教你一键采集二手车数据信息实现数据可视化展示哦~(附视频教程)

    驾考不易,天天早起去练车,无论烈日还是下雨,通通都在室外进行,但想要拿证,一定要坚 持不懈的去练车。 粉丝白嫖源码福利,请移步至CSDN社区或文末公众hao即可免费。 小编就是在一复一日的练习中,终于得到了我人生中以为不可能考证之驾照到手了! 这不?驾照到

    2024年02月02日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包