把我用request 和 re 写一个爬虫程序爬取网页图片
时间: 2024-04-03 16:34:02 浏览: 60
好的,下面是一个使用 `requests` 和 `re` 库编写的爬虫程序,用于爬取指定网页中的图片:
```python
import requests
import re
# 指定要爬取的网页
url = 'https://www.example.com'
# 发送请求,获取网页内容
response = requests.get(url)
html = response.text
# 使用正则表达式匹配图片链接
pattern = r'<img.*?src="(.*?)".*?>'
img_urls = re.findall(pattern, html)
# 遍历图片链接,依次下载图片
for img_url in img_urls:
# 发送请求,获取图片内容
img_response = requests.get(img_url)
img_content = img_response.content
# 获取图片文件名
img_name = img_url.split('/')[-1]
# 保存图片到本地
with open(img_name, 'wb') as f:
f.write(img_content)
```
解释一下上面的程序:
1. 首先指定要爬取的网页的 URL,存储到 `url` 变量中;
2. 然后使用 `requests` 库发送 HTTP 请求,获取网页内容,存储到 `html` 变量中;
3. 使用正则表达式匹配网页中所有的图片链接,存储到 `img_urls` 列表中;
4. 遍历 `img_urls` 列表,依次下载每个图片文件:
- 发送 HTTP 请求,获取图片内容,存储到 `img_content` 变量中;
- 获取图片文件名,存储到 `img_name` 变量中;
- 使用 `with open()` 语句打开文件,将图片内容写入文件中,保存到本地。
请注意,上面的代码只是一个简单的示例,实际应用中还需要加入异常处理、多线程或协程优化等措施,以提高程序的健壮性和效率。
阅读全文