【爬虫专区】批量下载PDF (无反爬)

天命:只要没反爬,一切都简单

这次爬取的是绿盟的威胁情报的PDF

先看一下结构,很明显就是一个for循环渲染

burp抓包会发现第二次接口请求

接口请求一次就能获取到了所有的数据

然后一个循环批量下载数据即可,其实没啥难度的

python 复制代码
import requests,os

res = requests.get("https://nti.nsfocus.com/api/v2/report/notie/?page=1&size=200&order=reported")
data_dict = res.json() # 提取json格式
当前相对路径 = os.getcwd()  # 获取绝对路径,每个人电脑不一样,所以预算是相对路径
os.mkdir("PDF") # 在当前文件夹下,创建一个PDF文件夹

# 提取data字段
data = data_dict['data']
for 数据 in data:
    日期 = 数据['created']
    日期 = 日期.split("T")[0]
    标题 = 数据['title']
    文件名 = 数据['children'][0]['file_name']
    url = "https://nti.nsfocus.com/api/v2/report/pdf/?file="+ 文件名 
    
    最终文件名 = 日期+标题+文件名
    response = requests.get(url, stream=True)  # 开始下载文件
    f = open(f"{当前相对路径}\\PDF\\{最终文件名}","wb")
    for 文件流 in response.iter_content(chunk_size=1024):  # 应该是提取每一页
        f.write(文件流)  # 把每一页写入PDF中
    print("文件已下载")
相关推荐
apocelipes6 小时前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户8356290780518 小时前
使用 Python 在 PDF 中创建与管理书签
后端·python
MeixianAgent12 小时前
Python 回测数据入口怎么验?历史 K 线入库前先做 5 个检查
后端·python
咕白m62515 小时前
用 Python 实现一键批量查找与替换 Excel 数据
后端·python
SelectDB1 天前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码2 天前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
金銀銅鐵2 天前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li2 天前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
小九九的爸爸2 天前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学2 天前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员