【爬虫专区】批量下载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("文件已下载")
相关推荐
RockyRich25 分钟前
突然无法调用scikit-learn、xgboost
python·机器学习·scikit-learn
真的很上进25 分钟前
2025最全TS手写题之partial/Omit/Pick/Exclude/Readonly/Required
java·前端·vue.js·python·算法·react·html5
敲键盘的小夜猫1 小时前
大模型智能体核心技术:CoT与ReAct深度解析
人工智能·python
华科云商xiao徐1 小时前
Python利用Scrapy框架部署分布式爬虫
python·scrapy
小前端大牛马1 小时前
java教程笔记(十四)-线程池
java·笔记·python
行者将至X1 小时前
解决Zotero翻译插件Zotero PDF Translate无法正常翻译
pdf
先树立一个小目标1 小时前
react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
chrome·react.js·pdf
老歌老听老掉牙2 小时前
旋量理论:刚体运动的几何描述与机器人应用
python·算法·机器学习·机器人·旋量
我是初九2 小时前
【李沐-动手学深度学习v2】1.Colab学习环境配置
人工智能·python·学习·colab
失败又激情的man2 小时前
python爬虫之数据存储
前端·数据库·python