【爬虫专区】批量下载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("文件已下载")
相关推荐
程序员小远28 分钟前
银行测试:第三方支付平台业务流,功能/性能/安全测试方法
自动化测试·软件测试·python·功能测试·测试工具·性能测试·安全性测试
猫头虎3 小时前
如何查看局域网内IP冲突问题?如何查看局域网IP环绕问题?arp -a命令如何使用?
网络·python·网络协议·tcp/ip·开源·pandas·pip
沿着路走到底3 小时前
python 基础
开发语言·python
烛阴5 小时前
武装你的Python“工具箱”:盘点10个你必须熟练掌握的核心方法
前端·python
杨枝甘露小码5 小时前
Python学习之基础篇
开发语言·python
我是华为OD~HR~栗栗呀6 小时前
23届考研-Java面经(华为OD)
java·c++·python·华为od·华为·面试
小蕾Java6 小时前
PyCharm 软件使用各种问题 ,解决教程
ide·python·pycharm
Lucky_Turtle6 小时前
【PyCharm】设置注释风格,快速注释
python
kunge1v56 小时前
学习爬虫第四天:多任务爬虫
爬虫·python·学习·beautifulsoup
萧鼎7 小时前
Python schedule 库全解析:从任务调度到自动化执行的完整指南
网络·python·自动化