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

爬虫下载网页文夹

爬虫下载网页pdf文件
在这里插入图片描述

import os
import requests
from bs4 import BeautifulSoup
from urllib.parse import urljoin
from urllib.parse import urljoin, unquote
from tqdm import tqdm
# 设置网页的URL
base_url = "http://119/download/dzz/pdf/"# 创建保存文件的文件夹,如果文件夹不存在则创建
download_folder = "downloaded_pdfs"
os.makedirs(download_folder, exist_ok=True)def get_name(base_url):name_list=[]# 获取网页内容response = requests.get(base_url)  # 发送请求获取网页内容response.raise_for_status()  # 检查请求是否成功,若不成功则抛出异常soup = BeautifulSoup(response.text, "html.parser")  # 解析HTML内容# 查找所有文件链接for link in soup.find_all("a"):  # 遍历网页中所有的<a>标签,找到每个链接name_list.append(link.get("href"))return name_list
f1_list=get_name(base_url)
for i1 in f1_list:if i1 and i1 not in ["../"]:print(i1)f1_url = urljoin(base_url, i1)  # 将相对链接转为完整的URLf2_list=get_name(f1_url)for i2 in f2_list:   if i2 and i2 not in ["../"]:f2_url = urljoin(f1_url, i2)  # 将相对链接转为完整的URLf3_list=get_name(f2_url)for i3 in tqdm(f3_list):   if i3 and i3 not in ["../"]:f3_url = urljoin(f2_url, i3)  # 将相对链接转为完整的URLresponse = requests.get(f3_url)  # 发送请求获取网页内容response.raise_for_status()  # 检查请求是否成功,若不成功则抛出异常file_response = requests.get(f3_url)  # 发送请求下载文件内容download_folder_new = download_folder+'/'+i1+i2download_folder_new=unquote(download_folder_new)os.makedirs(download_folder_new, exist_ok=True)download_folder_path=download_folder_new+i3download_folder_path = unquote(download_folder_path)with open(download_folder_path, "wb") as f:  # 以二进制写入方式保存文件f.write(file_response.content)  # 写入下载的文件内容到本地# print(f"{download_folder_path}下载完成")  # 打印下载完成信息
http://www.lryc.cn/news/478214.html

相关文章:

  • 深入探讨钉钉与金蝶云星空的数据集成技术
  • 小语言模型介绍与LLM的比较
  • ThreadLocal从入门到精通
  • 小新学习k8s第六天之pod详解
  • 9、node.js和Lowdb
  • WebAPI编程(第五天,第六天,第七天)
  • 香港服务器网络延迟的测量指标包括哪些?
  • 【综合案例】使用React编写B站评论案例
  • 【AIGC】腾讯云语音识别(ASR)服务在Spring Boot项目中的集成与实践
  • 基于 Vue3、Vite 和 TypeScript 实现开发环境下解决跨域问题,实现前后端数据传递
  • 前端面筋(持续更新)
  • 深度学习-迁移学习
  • 6.0、静态路由
  • Redis学习:BitMap/HyperLogLog/GEO案例 、布隆过滤器BloomFilter、缓存预热+缓存雪崩+缓存击穿+缓存穿透
  • Lua数据类型
  • CSS中的背景色和前景色
  • 伊莱亚斯 M. 斯坦恩(Elias M. Stein)《复分析》与《实分析》教材
  • UCLA、MIT数学家推翻39年经典数学猜想!AI证明卡在99.99%,人类最终证伪
  • 大厂面试真题-很多系统会使用netty进行长连接,连接太多会有问题吗
  • Android RecyclerView ,使用ItemDecoration设置边距的大坑:左右边距不均匀/不同,已解决。
  • 系统上云-流量分析和链路分析
  • Apache 配置出错常见问题及解决方法
  • DGL库之dgl.function.u_mul_e(代替dgl.function.src_mul_edge)
  • 题目练习之二叉树那些事儿
  • 数字马力二面面试总结
  • 优化图片大小的方法
  • DevOps-课堂笔记
  • Redis - Hash 哈希
  • dns服务部署
  • 【Hadoop和Hbase集群配置】3台虚拟机、jdk+hadoop+hbase下载和安装、环境配置和集群测试