python用正则表达爬取网页图片并保存
时间: 2023-09-24 16:02:54 浏览: 113
好的,以下是Python使用正则表达式爬取网页图片并保存的代码示例:
```python
import re
import requests
url = "https://www.example.com" # 要爬取的网页URL
response = requests.get(url)
html_content = response.text # 获取网页HTML代码
# 使用正则表达式匹配所有图片链接
img_pattern = re.compile('<img.*?src="(.*?)".*?>')
img_urls = img_pattern.findall(html_content)
# 遍历所有图片链接,下载并保存到本地
for img_url in img_urls:
# 如果图片链接是相对路径,拼接完整URL
if not img_url.startswith("http"):
img_url = url + img_url
# 发送请求,获取图片内容
img_response = requests.get(img_url)
# 提取图片文件名
img_filename = img_url.split("/")[-1]
# 将图片内容写入文件
with open(img_filename, "wb") as f:
f.write(img_response.content)
```
需要注意的是,这段代码只能爬取网页中直接使用`<img>`标签指定的图片,无法爬取通过CSS或JavaScript加载的图片。如果需要爬取这些图片,需要使用类似Selenium这样的工具模拟浏览器行为。此外,爬取网页图片可能涉及版权问题,请不要滥用。
阅读全文