使用正则表达式爬取https://m.hongxiu.com/category/30020_f1_f1_f1_f1_f1_0_1 网站的图片并保存到本地
时间: 2024-12-22 11:12:45 浏览: 3
使用正则表达式直接从网页上爬取图片并不是最佳实践,因为大部分网站都是动态加载内容,包含图片链接的HTML结构可能会嵌套较深,并不适合简单的正则匹配。然而,我们可以借助Python的BeautifulSoup库来解析HTML并提取图片URL,然后利用requests库下载图片。这里提供一个基本的步骤:
1. 首先安装必要的库(如果尚未安装):
```bash
pip install beautifulsoup4 requests
```
2. 使用Python编写脚本,例如:
```python
import requests
from bs4 import BeautifulSoup
import os
# 目标网址
url = "https://m.hongxiu.com/category/30020_f1_f1_f1_f1_f1_0_1"
# 发送GET请求获取页面内容
response = requests.get(url)
# 检查请求是否成功
if response.status_code == 200:
# 解析HTML内容
soup = BeautifulSoup(response.text, 'lxml')
# 查找所有img标签,通常图片URL会在"data-src"或"src"属性中
img_tags = soup.find_all('img', {'data-src': True} or {'src': True})
# 定义保存图片的目录
save_dir = "图片保存路径"
if not os.path.exists(save_dir):
os.makedirs(save_dir)
for img_tag in img_tags:
img_url = img_tag['data-src'] if 'data-src' in img_tag.attrs else img_tag['src']
img_name = os.path.join(save_dir, img_url.split('/')[-1]) # 获取文件名
# 下载图片并保存
with open(img_name, 'wb') as f:
img_content = requests.get(img_url).content
f.write(img_content)
print(f'已下载并保存至 {img_name}')
else:
print("无法访问该网页")
阅读全文