下载nginx搭建的文件服务器(爬虫)

下载nginx搭建的文件服务器(爬虫)

windows版
需要下载python包:pip install requests

import requests
import re
import os#开始访问的url地址,必须以/结尾
index_url = "https://www.aaa.com/aaaaa/"
#下载到本地的地址,必须以/结尾
local_address = "D:/up/"def getHtml(index_url,local_address):resp = requests.get(index_url)html_content = resp.text# 使用re.DOTALL标志使.匹配包括换行符在内的任何字符  pattern = re.compile(r'<a\s+[^>]*?>(.*?)</a>', re.DOTALL)matches = pattern.findall(html_content)for match in matches:if("../"!=match):if("/"==match[-1]):#递归dg_url = index_url+matchdg_local_address = local_address+matchgetHtml(dg_url,dg_local_address)else:hq_index_url = index_url+matchhq_local_address = local_address+matchprint(hq_index_url+"=========="+hq_local_address)downFile(hq_index_url,hq_local_address)# 获取内容,并下载
def downFile(url,local_address):# 创建目录# 分离目录和文件名  directory, filename = os.path.split(local_address)  # 检查目录是否存在,如果不存在则创建  if not os.path.exists(directory):  os.makedirs(directory)  response = requests.get(url, stream=True)  # 使用stream=True以节省内存# 检查响应状态码  if response.status_code == 200:  # 打开文件以二进制写入模式  with open(local_address, 'wb') as f:  # 迭代响应内容  for chunk in response.iter_content(chunk_size=8192):  # 如果chunk存在,则写入文件  if chunk:  f.write(chunk)  else:  print("下载出错:"+url)getHtml(index_url,local_address)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/39052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10显示毫秒-上午-下午及星期几,24小时制

关于毫秒 winr regedit 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced 新建ShowSecondsInSystemClock&#xff0c;编辑1显示&#xff0c;不显示就删了它 然后重启 资源管理器可能有多个全部重启&#xff0c;就可以啦 根据自己喜好…

党建科普3D数字化展馆支持实时更新迭代

3D虚拟策展逐渐成为新时代下的主流方式&#xff0c;深圳华锐视点作为专业的web3d开发公司&#xff0c;具有专业化的3D数字化空间还原能力&#xff0c;能根据企业/个人不同需求和预算&#xff0c;为您打造纯线上虚拟3D艺术展&#xff0c;让您彻底摆脱实体美术馆的限制&#xff0…

面试官:Java文件是如何被加载到内存中的?

面试连环call Java文件是如何被加载到内存中的&#xff1f;Java类的声明周期都有哪些阶段&#xff1f;JVM加载的class文件都有哪些来源&#xff1f;JVM在加载class文件时&#xff0c;何时判断class文件的格式是否符合要求&#xff1f; 类生命周期 一个类从被加载到虚拟机内存…

【计算机体系结构】缓存的false sharing

在介绍缓存的false sharing之前&#xff0c;本文先介绍一下多核系统中缓存一致性是如何维护的。 目前主流的多核系统中的缓存一致性协议是MESI协议及其衍生协议。 MESI协议 MESI协议的4种状态 MESI协议有4种状态。MESI是4种状态的首字母缩写&#xff0c;缓存行的4种状态分别…

【Linux】—Xshell、Xftp安装

文章目录 前言一、下载Xshell、Xftp二、安装Xshell三、使用XShell连接Linux服务器四、修改windows的主机映射文件&#xff08;hosts文件&#xff09;五、远程连接hadoop102/hadoop103/hadoop104服务器六、安装Xftp 前言 XShell远程管理工具&#xff0c;可以在Windows界面下来访…

[数据集][目标检测]螺丝螺母检测数据集VOC+YOLO格式2400张2类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;2400 标注数量(xml文件个数)&#xff1a;2400 标注数量(txt文件个数)&#xff1a;2400 标注…

SpringBoot 整合 Minio 实现文件切片极速上传技术

Centos7安装Minio 创建目标文件夹 mkdir minio使用docker查看目标镜像状况 大家需要注意&#xff0c;此处我们首先需要安装docker&#xff0c;对于相关安装教程&#xff0c;大家可以查看我之前的文章&#xff0c;按部就班就可以&#xff0c;此处不再赘述&#xff01;&#x…

uniapp入门

一、新建项目 进入到主界面&#xff0c;左上角点击新建——1.项目 输入项目名称&#xff0c;Vue版本选择3 二、创建页面 选中左侧文件目录里的pages文件夹&#xff0c;右键&#xff0c;选择新建页面 1输入名称 2选中“创建同名目录” 3选择模板&…

将json对象转为xml进行操作属性

将json对象转为xml进行操作属性 文章目录 将json对象转为xml进行操作属性前端发送json数据格式写入数据库格式-content字段存储&#xff08;varchar(2000)&#xff09;Question实体类-接口映射对象QuestionContent 接收参数对象DAO持久层Mapper层Service层Controller控制层接收…

《每天5分钟用Flask搭建一个管理系统》第13章:性能优化

第13章&#xff1a;性能优化 13.1 性能优化的重要性 性能优化确保应用能够处理高并发请求&#xff0c;减少响应时间&#xff0c;提高用户体验和应用的可扩展性。 13.2 Flask缓存机制 缓存是提高Web应用性能的关键技术之一&#xff0c;它可以减少数据库查询次数和服务器计算…

Java 开发环境配置

配置Java开发环境涉及几个主要步骤&#xff0c;包括安装Java Development Kit (JDK)、配置环境变量和选择集成开发环境&#xff08;IDE&#xff09;。以下是详细的配置步骤&#xff1a; ### 1. 安装 Java Development Kit (JDK) 1. **下载 JDK**&#xff1a; 访问 Oracle …

完全指南:在Linux上安装和精通Conda

前言 Conda是一个强大的包管理和环境管理工具&#xff0c;特别适用于数据科学和机器学习项目。本文将详细指导你在Linux系统上安装、配置和充分利用Conda的方法。 步骤一&#xff1a;下载和安装Conda 下载安装包&#xff1a; wget https://repo.anaconda.com/miniconda/Minic…

普元EOS学习笔记-低开实现图书的增删改查

前言 在前一篇《普元EOS学习笔记-创建精简应用》中&#xff0c;我已经创建了EOS精简应用。 我之前说过&#xff0c;EOS精简应用就是自己创建的EOS精简版&#xff0c;该项目中&#xff0c;开发者可以进行低代码开发&#xff0c;也可以进行高代码开发。 本文我就记录一下自己在…

Golang中swtich中如何强制执行下一个代码块

switch 语句中的 case 代码块会默认带上 break&#xff0c;但可以使用 fallthrough 来强制执行下一个 case 代码块。 package mainimport ("fmt" )func main() {isSpace : func(char byte) bool {switch char {case : // 空格符会直接 break&#xff0c;返回 false…

2024年6月 | deepin 深度应用商店-应用更新记录

新增应用 序号应用名称depein 系统版本应用分类应用类型1bkViewer 照片浏览器deepin 20.9 deepin V23网络应用wine291助手deepin 20.9 deepin V23编程开发wine3风云CAD转换器deepin 20.9 deepin V23编程开发wine4Disk Savvydeepin 20.9 deepin V23系统工具wine5飞猫盘…

miniconda3 安装jupyter notebook并配置网络访问

由于服务器安装的miniconda3&#xff0c;无jupyter notebook&#xff0c;所以手工安装jupyter notebook 1 先conda 安装相关包 在base 环境下 conda install ipython conda install jupyter notebook 2 生成配置文件 jupyter notebook --generate-config Writing defaul…

Nginx 常用配置与应用

Nginx 常用配置与应用 官网地址&#xff1a;https://nginx.org/en/docs/ 目录 Nginx 常用配置与应用 Nginx总架构 正向代理 反向代理 Nginx 基本配置反向代理案例 负载均衡 Nginx总架构 进程模型 正向代理 反向代理 Nginx 基本配置反向代理案例 负载均衡 Nginx 基本配置…

新人程序员接手丑陋的老代码怎么办?改还是不改......

许多小伙伴在初入职场的时候&#xff0c;都会遇到要接手老代码的情况&#xff0c;那么问题来了&#xff0c;如果老代码十分丑陋&#xff0c;你是改还是不改&#xff1f; 不改吧&#xff0c;心里难受&#xff1b;改吧&#xff0c;指不定会遇到什么情况&#xff0c;比如…… 1.…

【嫦娥四号】月球着陆器中子和剂量测量(LND)实验

一、引言 嫦娥四号任务是中国月球探测计划的重要里程碑&#xff0c;实现了人类首次在月球背面软着陆&#xff0c;并展开了月面巡视和中继通信。本文所描述的嫦娥四号着陆器上的中子与剂量测定实验&#xff08;Lunar Lander Neutrons and Dosimetry Experiment, LND&#xff09…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【17】认证服务01

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【17】认证服务01 环境搭建验证码倒计时短信服务邮件服务验证码短信形式&#xff1a;邮件形式&#xff1a; 异常机制MD5参考 环境搭建 C:\Windows\System32\drivers\etc\hosts 192.168.…