一个超简单的抱枕图库爬取
一些可以略过的话最近突然想买个抱枕,在淘宝上翻了翻,您猜怎么找,居然碰到了一个抱枕图库,这不整的我手痒了不是,于是就有了这篇文章。
# 一个超简单的抱枕图库爬取
## 效果图
![目录列表](https://picshack.net/ib/lhg4av2VqD.png)
![文件总大小](https://picshack.net/ib/IibBKz3YH6.png)
## 第一步:获取动漫集列表
- POST接口:http://101.132.172.60/api/anim/all
![动漫集列表](https://picshack.net/ib/oxVtXosMIo.png)
- 返回数据:
!(https://picshack.net/ib/c96Rq56umj.png)
- 说明:返回中的动漫集ID用于后续请求动漫集内容
- python示例:
```python
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.69"}
def all_li():
url = 'http://101.132.172.60/api/anim/all'
res = requests.post(url, headers=headers)
return [(i['name'], i['id']) for i in res.json()['data']]
```
## 第二步:动漫集内容获取
- POST接口:http://101.132.172.60/api/anim/{动漫集ID}/page
- 请求载荷:
| 参数名 | 说明 | 示例 |
| :---: | :---: | :---: |
| page | 请求页 | 1 |
| size | 最大数据量(默认50) | 50 |
![动漫集内容](https://picshack.net/ib/nEZqrEFtL6.png)
- 返回数据:
!(https://picshack.net/ib/GLLtLQRm8l.png)
- 说明:返回中的图片ID用于后续图片下载
```python
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.69"}
def in_li(title_id):
url = f'http://101.132.172.60/api/anim/{title_id}/page'
n = 1
result = []
while True:
data = {
'page': n,
'size': 50
}
res = requests.post(url, json=data, headers=headers)
li = [(i['number'], i['id']) for i in res.json()['data']]
if not li: break
result.extend(li)
n += 1
return result
```
## 第三步:图片下载
- GET接口:http://101.132.172.60/api/imgs/{图片ID}/regular.jpg
```python
def image_save(name, _id):
url = f'http://101.132.172.60/api/imgs/{_id}/regular.jpg'
res = requests.get(url, headers=headers, timeout=10)
with open(name, 'wb') as f:
f.write(res.content)
```
## 注意事项
- 目录/文件保存时,注意符合系统命名方式(可恶的windows命名规范
- 该服务器貌似比较弱,并发10请求仍存在断包的情况
## 完整代码见附件(解压码:52pojie) nanhaiyu007 发表于 2023-10-31 09:45
没有报错;
我调试了以下,查看保存路径是这个,但没看太懂如下路径在哪
程序创建H3目录,并切换工作目录到H3中(所有路径皆为相对路径)
程序采用了线程池方式,你看到的这个是主线程的任务提交,实际执行在线程池中,中断程序有可能导致该任务未被调度,实际判断可以观察日志输出是否显示该图片保存成功。
感谢分享,谢谢 感谢大佬分享,谢谢 这个6啊哈哈哈 这……抱枕也高科技了{:1_904:} 感谢分享 nsfw警告 感谢楼主分享 多谢了 用的logger是哪个版本的,pip install logger 后还是提示没有loguru 谢谢楼主,我会好好批判的