【爬虫专区】批量下载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("文件已下载")
相关推荐
学生信的大叔12 小时前
【Python自动化】Ubuntu24.04配置Selenium并测试
python·selenium·自动化
诗句藏于尽头13 小时前
Django模型与数据库表映射的两种方式
数据库·python·django
阿幸软件杂货间13 小时前
Office转PDF转换器v1.0.py
开发语言·pdf·c#
智数研析社13 小时前
9120 部 TMDb 高分电影数据集 | 7 列全维度指标 (评分 / 热度 / 剧情)+API 权威源 | 电影趋势分析 / 推荐系统 / NLP 建模用
大数据·人工智能·python·深度学习·数据分析·数据集·数据清洗
扯淡的闲人13 小时前
多语言编码Agent解决方案(5)-IntelliJ插件实现
开发语言·python
moxiaoran575313 小时前
Flask学习笔记(一)
后端·python·flask
秋氘渔14 小时前
迭代器和生成器的区别与联系
python·迭代器·生成器·可迭代对象
Gu_shiwww14 小时前
数据结构8——双向链表
c语言·数据结构·python·链表·小白初步
Dxy123931021615 小时前
python把文件从一个文件复制到另一个文件夹
开发语言·python
sonrisa_16 小时前
collections模块
python