ibook 发表于 2022-1-1 00:04

用python爬取jk小姐姐照片慢慢看【本地直接下载版】

本帖最后由 ibook 于 2022-1-1 11:03 编辑

如题,看到了这个帖子`https://www.52pojie.cn/thread-1340115-1-1.html` 里楼主用的接口,不过楼主没写下载,我这里简单把下载写了下,直接运行代码就能下载,默认主下载目录是 `D:\bcy` ,一个用户图片一个文件夹,也可以自己修改文件主文件夹,没有文件夹会自动创建

只需要安装`Python3`环境和`requests`库就能使用,我用的`Python`版本是`3.9`

## 下载效果
https://iknow-pic.cdn.bcebos.com/f636afc379310a55a0743e65a54543a9832610ca
https://iknow-pic.cdn.bcebos.com/aa64034f78f0f736bfaeac901855b319eac413ca

## 代码如下:

```python
import json
import os.path
import time

import requests

url = "https://bcy.net/apiv3/common/circleFeed"

par = {
    'circle_id': 492
}

header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62',
    'Referer': 'https://bcy.net/tag/492'
}

res = requests.get(url, headers=header, params=par)
res_encode = res.text.encode('utf-8')
res_json = json.loads(res_encode)

for item in res_json['data']['items']:
    name = item['item_detail']['uname']
    if not os.path.exists(f'D:\\bcy\\{name}'):
      os.makedirs(f'D:\\bcy\\{name}')
      os.chdir(f'D:\\bcy\\{name}')
    else:
      os.chdir(f'D:\\bcy\\{name}')

    avatar = item['item_detail']['avatar']
    avatar_name = str(avatar).rsplit('.image')
    avatar_name1 = str(avatar_name).rsplit('/')[-1]
    print(f'{avatar_name1}.jpg')
    with open(f'{avatar_name1}.jpg', 'wb') as f1:
      f1.write(requests.get(avatar, headers=header).content)
    print(name, avatar_name1)

    for image in item['item_detail']['image_list']:
      images = image['path']
      images_name = str(images).rsplit('.image')
      images_name1 = str(images_name).rsplit('/')[-1]
      with open(f'{images_name1}.jpg', 'wb') as f2:
            f2.write(requests.get(images, headers=header).content)
      print(f'{images_name1}.jpg')
    time.sleep(1)

```




## 补充
# 2022.1.1-11:01
并没有失效,502可能是你下载太快被禁止了,我本地使用没有问题

SoDump 发表于 2022-1-1 00:42

if not os.path.exists(f'D:\\bcy\\{name}'):
      os.makedirs(f'D:\\bcy\\{name}')
      os.chdir(f'D:\\bcy\\{name}')
    else:
      os.chdir(f'D:\\bcy\\{name}')



在for的最后记得跳出当前目录,回到上级目录

sunburst 发表于 2022-1-22 11:43

兄弟们记得换换口味
'''
    JK
    'circle_id': 492
    JK制服
    'circle_id': 976
    JK日常
    'circle_id': 5469
    JK少女
    'circle_id': 14903
    JK私影
    'circle_id': 79246
    JK制服上新
    'circle_id': 110312
    JK正片
    'circle_id': 143389
'''

tanzhilang 发表于 2022-1-1 00:16

感谢老哥。。{:1_921:}

liuwujun521 发表于 2022-1-1 00:25

可以爬取QQ空间加密的吗?

vnkgt 发表于 2022-1-1 00:29

这个好。。。

tweethu 发表于 2022-1-1 00:36

学会了,大佬牛逼

komakoma 发表于 2022-1-1 00:44

学习了,感谢分享!

ibook 发表于 2022-1-1 00:50

本帖最后由 ibook 于 2022-1-1 00:52 编辑

SoDump 发表于 2022-1-1 00:42
if not os.path.exists(f'D:\\bcy\\{name}'):
      os.makedirs(f'D:\\bcy\\{name}')
      os.chdi ...
嗯 可以优化,不过我这个写的绝对路径,使用上应该没问题

ibook 发表于 2022-1-1 00:51

网速慢 发重复了 编辑

yamisxu 发表于 2022-1-1 01:01

其实挺土的
页: [1] 2 3 4 5
查看完整版本: 用python爬取jk小姐姐照片慢慢看【本地直接下载版】