逆向案例四、进阶,爬取精灵数据咨询前五十页数据

news2024/9/23 1:38:09

python代码示例: 

import csv
import execjs
import requests
f = open('精灵数据.csv','w',encoding='utf-8',newline='')
csv_writer = csv.DictWriter(f,fieldnames=[
            '标题',
            '发布时间',
            '新闻来源',
            '详情页链接',
            '转自',
            '点击量',
            '新闻作者',
            '发布时间小时',
    
])
csv_writer.writeheader()
data = []
for page in range(1, 51):
    url = 'https://vapi.jinglingshuju.com/Data/getNewsList'
    payload = {
        'page': str(page),
        'num': '20',
    }
    headers = {
        'Accept': 'application/json, text/plain, */*',
        'Accept-Encoding': 'gzip, deflate, br, zstd',
        'Accept-Language': 'zh-CN, zh;q=0.9',
        'Content-Type': 'application/x-www-form-urlencoded',
        'Origin': 'https://www.jinglingshuju.com',
        'Sec-Ch-Ua': '"Not_A_Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"',
        'Sec-Ch-Ua-Mobile': '?0',
        'Sec-Ch-Ua-Platform': '"Windows"',
        'Sec-Fetch-Dest': 'empty',
        'Sec-Fetch-Mode': 'cors',
        'Sec-Fetch-Site': 'same-site',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.0.0 Safari/537.36',
    }
    response = requests.post(url=url, data=payload, headers=headers)
    json_data = response.json()['data']
    data.append(json_data)  #获取所有的密文数据,并存储在data列表中
a = open('练习.js','r',encoding='utf-8').read()
for data in data:
    js = execjs.compile(a)
    mi_wen = js.call('f',data)
    dery_data = js.call('s',mi_wen)
    for i in dery_data['list']:
        dit={
                '标题':i['title'],
                '发布时间':i['news_time'],
                '新闻来源':i['news_source'],
                '详情页链接':i['detail'],
                '转自':i['summary'],
                '点击量':i['hits'],
                '新闻作者':i['news_author'],
                '发布时间小时':i['time_str'],

            }
        print(dit)
        csv_writer.writerow(dit)

js代码示例:

const CryptoJs = require('crypto-js');
function f(data){
    j = "DXZWdxUZ5jgsUFPF";
    z = CryptoJs.enc.Utf8.parse(j)
    data1 = CryptoJs.AES.decrypt(data, z,
        {
            iv: CryptoJs.enc.Utf8.parse(j.substr(0, 16)), mode: CryptoJs.mode.ECB,
            padding: CryptoJs.pad.Pkcs7
                });
            return data1.toString(CryptoJs.enc.Utf8);}

function s(data1){
    return JSON.parse(data1);
}

结果展示:

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1488537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP/2、HTTP/3分别解决了什么问题

总的来说就是HTTP/1.1是请求-响应模型导致队头阻塞问题,HTTP2是TCP层面导致队头阻塞问题 HTTP/2 多路复用,解决了HTTP/1.1队头阻塞问题 HTTP/1.1 的实现是基于请求-响应模型的。同一个连接中,HTTP 完成一个事务(请求与响应&…

【 10X summary report】怎么看?详细解读笔记

报告内容 在开始正式的分析之前,需要查看在对齐和计数过程中生成的任何总结统计信息。下图是由Cell Ranger工具创建的10X总结报告,在从10X scRNA-seq实验生成计数矩阵时会生成。 The left half of the report describes sequencing and mapping statist…

php开发项目 docx,pptx,excel表格上传阿里云,腾讯云存储后截取第一页生成缩略图

服务器或者存储上传的word,ppt和excel表格需要截取内容展示的时候,就需要管理后台每次上传文件时根据不同文件类型截取图片保存起来,并讲图片的地址保存到数据字段中.网上搜索了很多相关文章遇到的坑不少,经过2天时间终于完成了,将代码和遇到的问题完整记录下来. 本文用的…

基于SpringBoot+MYSQL的医护人员排班系统

基于springboot的医护人员排班系统录像 1、 前言介绍 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了医护人员排班系统的开发全过程。通过分析医护人员排班系统管理的不足,创建了一个计算机管理医护人员…

贪心 Leetcode 134 加油站

加油站 Leetcode 134 学习记录自代码随想录 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油…

企业内部培训考试系统题库导入功能设计

企业内部培训考试系统可自建题库,企业可以将已有的试题资源快速导入系统,系统具备智能选题功能,可以根据预设条件自动从题库中抽取试题,生成试卷,可以充分利用已有的教育资源,避免重复劳动,提高…

sc-MAVE

Deep-joint-learning analysis model of single cell transcriptome and open chromatin accessibility data单细胞转录组和开放染色质可及性数据的深度联合学习分析模型 在同一个细胞中同时分析转录组和染色质可及性信息为了解细胞状态提供了前所未有的解决方案。然而&#x…

[java] 23种设计模式之桥接模式

一、什么是桥接模式 桥接(Bridge)模式属于结构型设计模式。通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。把抽象(abstraction)与行为实现(implementation)分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。 二、适用场景 当一…

计算机专业必看的十部电影

计算机专业必看的十部电影 1. 人工智能2. 黑客帝国3. 盗梦空间4. 社交网络5. Her6. 模仿游戏7. 斯诺登8. 头号玩家9. 暗网10. 网络迷踪 计算机专业必看的十部电影,就像一场精彩盛宴! 《黑客帝国》让你穿越虚拟世界,感受高科技的魅力《模仿游戏…

SDR架构 (一)为什么基带有I和Q路?

我之前做过自己的RTL-SDR。一直有一个疑惑。为啥rtl2832u芯片有一对差分I路,还有一对差分Q路。差分很好理解是为了抗干扰,但为啥要I和Q呢?并且我也知道不少人在自己修改的时候,保留I路对接在r820t2(跟原版一样&#xf…

重学SpringBoot3-@EnableConfigurationProperties注解

重学SpringBoot3-EnableConfigurationProperties注解 1. 引言2. EnableConfigurationProperties 的作用3. 使用示例4. 总结 1. 引言 Spring Boot 提供了一种便捷的方式来管理和校验应用程序的配置,即通过类型安全的配置属性。EnableConfigurationProperties 注解在…

【论文】Continuous Rapid Action Value Estimates阅读笔记

之前在阅读KR-UCT论文时,里面提到过与UCT结合的主要两种启发式方法旨在指导探索策略,通过使用渐进拓宽(PW)限制考虑的行动的数量,并使用快速行动价值估计(RAVE)选择最有前途的行动。因此找了一篇…

C++模板完整版

顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left…

[SpringCloud] OpenFeign核心架构原理 (一)

Feign的本质: 动态代理 七大核心组件 Feign底层是基于JDK动态代理来的, Feign.builder()最终构造的是一个代理对象, Feign在构建对象的时候会解析方法上的注解和参数, 获取Http请求需要用到基本参数以及和这些参数和方法参数的对应关系。然后发送Http请求, 获取响应, 再根据响…

需求评审会常见的5大核心问题

需求评审会是项目管理过程中的一个重要环节,其核心问题的顺利讨论和评审,对项目来说非常重要。其有助于项目成员对需求理解达成共识,明确需求的内容、目标和预期结果,尽早发现需求不合理之处,从而能够及时调整和完善&a…

物联卡禁止个人使用是有原因的,技术层面给大家深度分析一下

运营商禁止物联卡个人使用是硬性规定,但是现在很有很多不法商贩在倒卖物联卡给个人,套路是很多的,小编之前的文章里有几篇深度介绍,大家可以搜索看一下,今天就从技术层面来给大家详细分析一下为什么物联卡不适合个人使…

智慧社区养老:Java与SpringBoot的技术融合

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

华为OD机试真题C卷-篇6

100分值题 宽度最小的子矩阵部门人力分配电脑病毒感染会议室占用时间段路口最短时间问题5G网络建设 宽度最小的子矩阵 给定一个n行 * m列的矩阵;给定一个k个整数的数组k_list;在n*m的矩阵中找一个宽度最小的子矩阵,该子矩阵包含k_list中所有…

从0到1全流程使用 segment-anything

从0到1全流程使用 segment-anything 一、安装 anaconda 一、下载 anaconda 二、以管理员身份运行安装 1、勾选 Just Me 2、统一安装路径(后续 python 等包也安装至此目录) 3、勾选 add to path 然后安装即可。 三、修改 Anaconda 默认路径及默认缓存路径 Anaconda 默认下…

反向代理多级多机

一 架构图 本次实验需要 5台机器 第一台 nginx 只做代理服务器 负责反向代理 加 负载均衡 后面的两台nginx 做真实服务器 处理静态资源 再后面的 tomcat 做真实服务器 处理动态资源 二 具体实验 (一) 具体实验环境 所有机器关闭防火墙 安装…