当前位置: 首页 > news >正文

采集某新闻网资讯网站保存PDF

 网址:融资总额近3亿美元、药明康德押注,这家抗衰老明星公司有何过人之处-36氪

 想要抓取文章内容,但是找不到啊,可能是文字格式的问题,也可能文章内容进行了加密。

在元素中查看,window.initialState返回的就是加密的内容。那么现在又要开始解密了,准备好了吗。 

先进行关键字搜索,打上断点,刷新页面。

哇撒,感觉很明显的AES解密,在控制台打印参数,ne就是密文内容

复制代码:

var ne = ee.a.enc.Utf8.parse("efabccee-b754-4c");
var re, oe = window.initialState || {};
oe.isEncrypt && (oe = JSON.parse((re = window.initialState.state,ee.a.AES.decrypt(re, ne, {mode: ee.a.mode.ECB,padding: ee.a.pad.Pkcs7}).toString(ee.a.enc.Utf8).toString())))

看一下这个ee.a,果然是标准库的解密算法,导入标准库,替换掉ee.a即可,泪目,竟然这么简单! 

window是啥呢?就是一个密文的格式!

究极改进代码 

const CryptoJS = require('crypto-js');window = {initialState: {"state": "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","isEncrypt": true}}//window.initialState.state类似于python字典取值window['initialState'][state'']
var ne = CryptoJS.enc.Utf8.parse("efabccee-b754-4c");re = window.initialState.state;
resp = CryptoJS.AES.decrypt(re, ne, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8).toString()
console.log(resp)

结果为:

为了与python代码进行交互,我们对代码稍微修改一下:

const CryptoJS = require('crypto-js');
function get_content(state){window = {initialState: {"state":state,"isEncrypt": true,}}//window.initialState.state类似于python字典取值window['initialState'][state'']
//ne是密钥var ne = CryptoJS.enc.Utf8.parse("efabccee-b754-4c");re = window.initialState.state;resp = CryptoJS.AES.decrypt(re, ne, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8).toString()return JSON.parse(resp)
}

接着写一个python代码获取密文,与js交互,再取出内容。

import requests
import re
import execjsdef GetResponse(url):headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',}response = requests.get(url=url,headers=headers)return responsedef GetContent():link = 'https://www.36kr.com/p/2729715501638664'html = GetResponse(link).textencrypted_data = re.findall('window.initialState=\{"state":"(.*?)"',html)[0]#解析数据,提取密文内容json_code = execjs.compile(open('demo11.js', 'r', encoding='utf-8').read())result = json_code.call('get_content',encrypted_data )title = result['articleDetail']['articleDetailData']['data']['widgetTitle']content = result['articleDetail']['articleDetailData']['data']['widgetContent']return title,contentif __name__ == '__main__':title,content = GetContent()print(title)print(content)

结果展现:

好了,获取到数据后,我们的目标是保存到pdf的格式,怎么做呢? 

首先,把文章内容保存成html

然后,把html文件转成pdf

先要有一个前端的模板

html_str = '''<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Document</title></head><body>{article}</body></html>'''

保存成html代码

import requests
import re
import execjsdef GetResponse(url):headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',}response = requests.get(url=url,headers=headers)return responsedef GetContent():link = 'https://www.36kr.com/p/2729715501638664'html = GetResponse(link).textencrypted_data = re.findall('window.initialState=\{"state":"(.*?)"',html)[0]#解析数据,提取密文内容json_code = execjs.compile(open('demo11.js', 'r', encoding='utf-8').read())result = json_code.call('get_content',encrypted_data )title = result['articleDetail']['articleDetailData']['data']['widgetTitle']content = result['articleDetail']['articleDetailData']['data']['widgetContent']return title,content
def Save(title,content):html_str = '''<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Document</title></head><body>{article}</body></html>'''string = html_str.format(article=content)html_file = 'html\\'+title+'.html'with open(html_file,mode='w',encoding='utf-8') as f:f.write(string)if __name__ == '__main__':title,content = GetContent()Save(title,content)print(title)print(content)

结果展现:

 

现在开始转变成pdf

import requests
import re
import execjs
import pdfkitdef GetResponse(url):headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',}response = requests.get(url=url,headers=headers)return responsedef GetContent():link = 'https://www.36kr.com/p/2729715501638664'html = GetResponse(link).textencrypted_data = re.findall('window.initialState=\{"state":"(.*?)"',html)[0]#解析数据,提取密文内容json_code = execjs.compile(open('demo11.js', 'r', encoding='utf-8').read())result = json_code.call('get_content',encrypted_data )title = result['articleDetail']['articleDetailData']['data']['widgetTitle']content = result['articleDetail']['articleDetailData']['data']['widgetContent']return title,content
def Save(title,content):html_str = '''<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Document</title></head><body>{article}</body></html>'''string = html_str.format(article=content)html_file = 'html\\'+title+'.html'with open(html_file,mode='w',encoding='utf-8') as f:f.write(string)pdf_path = 'pdf\\'+title+'.pdf'config = pdfkit.configuration(wkhtmltopdf=r'C:\Users\86187\PycharmProjects\pythonProject2\wkhtmltoodf\wkhtmltopdf\bin\wkhtmltopdf.exe')pdfkit.from_file(html_file, pdf_path, configuration=config)if __name__ == '__main__':title,content = GetContent()Save(title,content)print(title)print(content)

最终成功了

 

如果想多爬取页面,只要获取各个页面的url就行了。也就是获取每个文章的id,交给你自己去想办法。 

 

 

 

相关文章:

采集某新闻网资讯网站保存PDF

网址&#xff1a;融资总额近3亿美元、药明康德押注&#xff0c;这家抗衰老明星公司有何过人之处-36氪 想要抓取文章内容&#xff0c;但是找不到啊&#xff0c;可能是文字格式的问题&#xff0c;也可能文章内容进行了加密。 在元素中查看&#xff0c;window.initialState返回的就…...

03攻防世界-unserialize3

根据题目可以看出&#xff0c;这是个反序列化的题目 打开网址观察题目可以看到这里是php的代码&#xff0c;那么也就是php的反序列化 本题需要利用反序列化字符串来进行解题&#xff0c;根据源码提示我们需要构造code。 序列化的意思是&#xff1a;是将变量转换为可保存或传输…...

蓝桥杯备考随手记: 常见的二维数组问题

在Java中&#xff0c;二维数组是一种可以存储多个元素的数据结构。它由多个一维数组组成&#xff0c;这些一维数组可以看作是行和列的组合&#xff0c;形成了一个矩阵。 1. 二维数组旋转问题 二维数组的旋转是指将数组中的元素按照一定规则进行旋转。通常有两种常见的旋转方式…...

Java | Leetcode Java题解之第28题找出字符串中第一个匹配项的下标

题目&#xff1a; 题解&#xff1a; class Solution {public int strStr(String haystack, String needle) {int n haystack.length(), m needle.length();if (m 0) {return 0;}int[] pi new int[m];for (int i 1, j 0; i < m; i) {while (j > 0 && needl…...

【数据结构与算法】:二叉树经典OJ

目录 1. 二叉树的前序遍历 (中&#xff0c;后序类似)2. 二叉树的最大深度3. 平衡二叉树4. 二叉树遍历 1. 二叉树的前序遍历 (中&#xff0c;后序类似) 这道题的意思是对二叉树进行前序遍历&#xff0c;把每个结点的值都存入一个数组中&#xff0c;并且返回这个数组。 思路&…...

uniapp——长按识别二维码

说明 转变思路&#xff0c;长按图片&#xff0c;进入预览图片&#xff0c;这时候再长按就可以了。 <view class"codeMain"><view class"codeWhite" longpress"handleLongPress(i.image(qrcode))"><image :src"i.image(qrc…...

云服务器环境web环境搭建之JDK、redis、mysql

一、Linux安装jdk&#xff0c;手动配置环境 链接: https://pan.baidu.com/s/1LRgRC5ih7B9fkc588uEQ1whttps://pan.baidu.com/s/1LRgRC5ih7B9fkc588uEQ1w 提取码: 0413 tar -xvf 压缩包名 修改配置文件/etc/profile 二、安装redis环境 方案一&#xff1a; Linux下安装配置r…...

第1章 计算机网络体系结构

王道学习 【考纲内容】 &#xff08;一&#xff09;计算机网络概述 计算机网络的概念、组成与功能&#xff1b;计算机网络的分类&#xff1b; 计算机网络的性能指标 &#xff08;二&#xff09;计算机网络体系结构与参考模型 计算机网络分层结…...

Docker之自定义镜像上传至阿里云

一、Alpine介绍 Alpine Linux是一个轻量级的Linux发行版&#xff0c;专注于安全、简单和高效。它采用了一个小巧的内核和基于musl libc的C库&#xff0c;使得它具有出色的性能和资源利用率。 Alpine Linux的主要特点包括&#xff1a; 小巧轻量&#xff1a;Alpine Linux的安装…...

《深入Linux内核架构》第2章 进程管理和调度 (2)

目录 2.4 进程管理相关的系统调用 2.4.1 进程复制 2.4.2 内核线程 2.4.3 启动新程序 2.4.4 退出进程 本专栏文章将有70篇左右&#xff0c;欢迎关注&#xff0c;订阅后续文章。 2.4 进程管理相关的系统调用 2.4.1 进程复制 1. _do_fork函数 fork vfork clone都最终调用_…...

(四)PostgreSQL的psql命令

PostgreSQL的psql命令 基础信息 OS版本&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本&#xff1a;16.2 pg软件目录&#xff1a;/home/pg16/soft pg数据目录&#xff1a;/home/pg16/data 端口&#xff1a;5777psql 是 PostgreSQL 数据库的命令行界面…...

前端使用minio传输文件

minio官方文档 minio-js可以支持ts。 安装完可能会出现 Can‘t import the named export ‘xxx‘ from non EcmaScript module (only default export is available)可以尝试降低minio的版本 npm install minio7.0.18 --save代码&#xff1a; 初始化 const Minio require(…...

[大模型] BlueLM-7B-Chat WebDemo 部署

BlueLM-7B-Chat WebDemo 部署 模型介绍 BlueLM-7B 是由 vivo AI 全球研究院自主研发的大规模预训练语言模型&#xff0c;参数规模为 70 亿。BlueLM-7B 在 C-Eval 和 CMMLU 上均取得领先结果&#xff0c;对比同尺寸开源模型中具有较强的竞争力(截止11月1号)。本次发布共包含 7…...

一文了解ERC404协议

一、ERC404基础讲解 1、什么是ERC404协议 ERC404协议是一种实验性的、混合的ERC20/ERC721实现的&#xff0c;具有原生流动性和碎片化的协议。即该协议可让NFT像代币一样进行拆分交易。是一个图币的互换协议。具有原生流动性和碎片化的协议。 这意味着通过 ERC404 协议&#xf…...

iOS cocoapods pod FrozenError and RuntimeError

0x00 报错日志 /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.0/lib/cocoapods/user_interface/error_report.rb:34:in force_encoding: cant modify frozen String (FrozenError)from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.0/lib/cocoapods/user_interface/error_r…...

【鸿蒙开发】第二十章 Camera相机服务

1 简介 开发者通过调用Camera Kit(相机服务)提供的接口可以开发相机应用&#xff0c;应用通过访问和操作相机硬件&#xff0c;实现基础操作&#xff0c;如预览、拍照和录像&#xff1b;还可以通过接口组合完成更多操作&#xff0c;如控制闪光灯和曝光时间、对焦或调焦等。 2 …...

JS阅读笔记

myweb3.html <video id"video" width"400" height"300" autoplay></video> <button id"capture-btn">拍摄图片</button> <canvas id"canvas" width"400" height"300">&…...

基于spring boot的留守儿童爱心管理系统

基于spring boot的留守儿童爱心管理系统设计与实现 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开…...

python输入某年某月某日判断这一天是这一年的第几天

如何使用python实现输入某年某月某日判断这一天是这一年的第几天 from datetime import datetime #引入日期类 def is_leap_year(year):"""判断是否为闰年"""return (year % 4 0 and year % 100 ! 0) or (year % 400 0)# 根据年份和月份返回当…...

docker 上达梦导入dump文件报错:本地编码:PG GBK,导入女件编码:PGGB18030

解决方案&#xff1a; 第一步进入达梦数据容器内部 docker exec -it fc316f88caff /bin/bash 第二步&#xff1a;在容器中 /opt/dmdbms/bin目录下 执行命令 cd /opt/dmdbms/bin./dimp USERIDSYSDBA/SYSDBA001 FILE/opt/dmdbms/ZFJG_LJ20240407.dmp SCHEMASZFJG_LJUSERIDSYSD…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

3.3.1_1 检错编码(奇偶校验码)

从这节课开始&#xff0c;我们会探讨数据链路层的差错控制功能&#xff0c;差错控制功能的主要目标是要发现并且解决一个帧内部的位错误&#xff0c;我们需要使用特殊的编码技术去发现帧内部的位错误&#xff0c;当我们发现位错误之后&#xff0c;通常来说有两种解决方案。第一…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

Python Einops库:深度学习中的张量操作革命

Einops&#xff08;爱因斯坦操作库&#xff09;就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库&#xff0c;用类似自然语言的表达式替代了晦涩的API调用&#xff0c;彻底改变了深度学习工程…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行&#xff1a; rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用

在工业制造领域&#xff0c;无损检测&#xff08;NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统&#xff0c;以非接触式光学麦克风技术为核心&#xff0c;打破传统检测瓶颈&#xff0c;为半导体、航空航天、汽车制造等行业提供了高灵敏…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...