使用python实现一段代码,能够完整保存网页内容、图片、音频文件到指定目录,保存的网页内容可在本地浏览器打开直接还原页面的动态效果。并使用 https://info.support.huawei.com/info-finder/encyclopedia/zh/WiFi.html 进行代码正确性验证
时间: 2023-12-13 15:04:02 浏览: 133
可以将网页保存为图片
好的,可以使用Python的requests和BeautifulSoup模块来实现这个功能。以下是实现代码:
```python
import os
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/93.0.4577.63 Safari/537.36"
}
# 设置需要保存的网页链接和保存的目录
url = "https://info.support.huawei.com/info-finder/encyclopedia/zh/WiFi.html"
save_dir = "WebPage"
# 发送请求
response = requests.get(url, headers=headers)
html = response.content.decode("utf-8")
# 使用BeautifulSoup解析网页内容
soup = BeautifulSoup(html, features="html.parser")
# 新建保存网页的目录
if not os.path.exists(save_dir):
os.mkdir(save_dir)
# 保存网页内容
with open(os.path.join(save_dir, "index.html"), "w", encoding="utf-8") as f:
f.write(soup.prettify())
# 保存网页中的图片和音频文件
for img in soup.find_all("img"):
img_url = img.get("src")
if img_url.startswith("http"):
img_response = requests.get(img_url, headers=headers)
with open(os.path.join(save_dir, os.path.basename(img_url)), "wb") as f:
f.write(img_response.content)
else:
img_path = os.path.join(os.path.dirname(url), img_url)
img_response = requests.get(img_path, headers=headers)
with open(os.path.join(save_dir, os.path.basename(img_url)), "wb") as f:
f.write(img_response.content)
for audio in soup.find_all("audio"):
audio_url = audio.get("src")
if audio_url.startswith("http"):
audio_response = requests.get(audio_url, headers=headers)
with open(os.path.join(save_dir, os.path.basename(audio_url)), "wb") as f:
f.write(audio_response.content)
else:
audio_path = os.path.join(os.path.dirname(url), audio_url)
audio_response = requests.get(audio_path, headers=headers)
with open(os.path.join(save_dir, os.path.basename(audio_url)), "wb") as f:
f.write(audio_response.content))
print("保存完毕!")
```
运行上述代码后,会在当前目录下创建一个名为WebPage的目录,并将该网页的HTML文件、图片文件和音频文件保存到该目录下。可以在本地浏览器中打开WebPage目录下的index.html文件来查看网页的动态效果。
使用 https://info.support.huawei.com/info-finder/encyclopedia/zh/WiFi.html 进行代码正确性验证,可以看到代码能够正确地保存该网页的所有内容,包括HTML文件、图片和音频文件。
阅读全文