爬取哔哩哔哩漫画的伍六七:黑白双龙并保存到image文件中
时间: 2023-11-28 18:50:55 浏览: 226
为了爬取哔哩哔哩漫画的伍六七:黑白双龙并保存到image文件中,我们需要使用 Python 爬虫和图像处理库 Pillow。具体步骤如下:
1. 安装必要的库
```
pip install requests pillow
```
2. 获取漫画图片链接
通过分析哔哩哔哩漫画网页,我们可以发现漫画的图片链接都在 JavaScript 代码中,因此我们需要使用正则表达式来提取图片链接。以下是获取图片链接的代码:
```python
import re
import requests
# 请求漫画网页
url = "https://www.bilibili.com/bangumi/play/ss28787"
response = requests.get(url)
# 使用正则表达式提取图片链接
pattern = r'"images":\[([\s\S]*?)\]'
result = re.findall(pattern, response.text)
image_list = re.findall(r'"url":"(.*?)"', result[0])
# 打印图片链接
print(image_list)
```
3. 下载漫画图片并保存
我们可以使用 requests 库下载图片并使用 Pillow 库保存为本地图片文件。以下是保存图片的代码:
```python
from PIL import Image
import os
# 创建图片保存目录
if not os.path.exists("image"):
os.mkdir("image")
# 下载图片并保存
for i, image_url in enumerate(image_list):
response = requests.get(image_url)
with open(f"image/{i+1}.jpg", "wb") as f:
f.write(response.content)
print(f"已保存第{i+1}张图片")
# 合并图片
image_list = [Image.open(f"image/{i}.jpg") for i in range(1, len(image_list)+1)]
image_width, image_height = image_list[0].size
merge_image = Image.new("RGB", (image_width, image_height*len(image_list)))
for i, image in enumerate(image_list):
merge_image.paste(image, (0, i*image_height))
merge_image.save("merge_image.jpg")
print("已合并图片")
```
最后,我们可以在程序的同级目录下找到保存好的漫画图片和合并后的图片。
阅读全文