python遍历目录下所有html文件
时间: 2023-08-30 22:09:24 浏览: 142
可以使用 Python 的 `os` 模块来遍历目录下的所有文件。例如:
```python
import os
# 获取当前目录下的所有文件
for root, dirs, files in os.walk("."):
for file in files:
# 如果文件名以 .html 结尾,就打印文件名
if file.endswith(".html"):
print(file)
```
这样就可以遍历当前目录下的所有 HTML 文件了。
注意:`os.walk()` 会递归遍历子目录,如果只想遍历当前目录,可以使用 `os.listdir()` 函数。
```python
import os
# 获取当前目录下的所有文件
files = os.listdir(".")
for file in files:
# 如果文件名以 .html 结尾,就打印文件名
if file.endswith(".html"):
print(file)
```
相关问题
python获取遍历request指定目录下所有文件
在Python中,你可以使用`os`和`requests`库来获取并遍历网络请求指定目录下的所有文件。首先,确保已经安装了`requests`库,如果没有,可以使用`pip install requests`进行安装。
下面是一个简单的示例,假设你想从一个URL获取目录内容:
```python
import os
import requests
def fetch_files(url):
# 发送GET请求获取目录列表
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 解析响应内容,通常会包含HTML,需要解析出实际的文件路径
directory_content = response.text
# 假设目录内容是以HTML列表形式呈现,每个<a>标签链接代表一个文件
file_links = [a['href'] for a in BeautifulSoup(directory_content, 'html.parser') if a.tag == 'a']
# 遍历文件链接并下载它们
base_url = url.split('/', -1)[0] + '/'
for link in file_links:
file_url = base_url + link
with requests.get(file_url, stream=True) as file_response:
filename = os.path.basename(file_url)
with open(filename, 'wb') as f:
for chunk in file_response.iter_content(chunk_size=8192):
f.write(chunk)
print(f"Downloaded {filename}")
else:
print(f"Failed to get directory content, status code: {response.status_code}")
# 使用函数并提供目标URL
fetch_files('http://example.com/directory/')
```
注意这个例子假设URL返回的是HTML格式,并且文件链接直接包含在 `<a>` 标签内。实际情况可能会更复杂,例如JSON数据、API响应结构等,你需要相应地处理。同时,这只是一个基本框架,实际应用中可能需要考虑异常处理和网络错误等问题。
使用python遍历浏览器网址列表,并下载网址下的pdf
你可以使用 Python 的 requests 库和 BeautifulSoup 库来实现遍历浏览器网址列表,并下载每个网址下的 PDF。
以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 设置请求头,模拟浏览器发送请求
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 浏览器网址列表
urls = ['https://example.com/page1', 'https://example.com/page2', 'https://example.com/page3']
# 遍历网址列表
for url in urls:
# 发送 GET 请求
response = requests.get(url, headers=headers)
# 解析响应内容
soup = BeautifulSoup(response.content, 'html.parser')
# 获取所有的链接
links = soup.find_all('a')
# 遍历链接列表
for link in links:
# 获取链接地址
href = link.get('href')
# 如果链接是 PDF 文件
if href.endswith('.pdf'):
# 拼接 PDF 文件链接
pdf_url = url + href
# 发送 GET 请求
pdf_response = requests.get(pdf_url, headers=headers)
# 以二进制形式获取响应内容
pdf_content = pdf_response.content
# 将响应内容写入本地文件
with open(href, 'wb') as f:
f.write(pdf_content)
```
你需要将代码中的 `urls` 替换成你要遍历的浏览器网址列表,然后执行代码即可在当前目录下生成多个 PDF 文件,每个文件名是该 PDF 的文件名。
阅读全文