首页 新闻 搜索 专区 学院

我爬到了图片url,但不知道如何保存,并给这些文件取个随机名字。

0
悬赏园豆:5 [待解决问题]

import requests

url = 'https://www.pixiv.net/ranking.php?mode=daily'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 '
'(KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'}
date = 20190416
for p in range(1,6):
params = {'date':str(date),'p':str(p),'format':'json'}
Page = requests.get(url, params=params, timeout=2, headers = headers)
cont = Page.json()['contents']
urls = [g['url'] for g in cont]

for link in urls:
print(link)

问题补充:

目前我能明白要带referer的header去下载,但不知道该如何实现

luckytownL的主页 luckytownL | 初学一级 | 园豆:199
提问于:2019-04-17 18:01
< >
分享
所有回答(3)
0

用requests访问这些link,获得返回的content,存二进制

    for link in urls:
        print(link)
        response = requests.get(link, params=params, timeout=2, headers=headers)
        content = response.content
        with open('img.png', 'wb+') as img:
            img.write(content)
Masako | 园豆:1893 (小虾三级) | 2019-04-17 18:19

不知道是不是你错了,我认为你这样只能保存一张img.png的图,后面的文件都取了相同的名字,我觉得应该创个文件夹,命名方式用random模块取一个1-50数字来当名字,后缀全改为png如(1.png)

支持(0) 反对(0) luckytownL | 园豆:199 (初学一级) | 2019-04-17 19:17

@luckytownL: 我只是举个例子,这个是只能保存一张,会被覆盖,随机的名字要你自己写的。

支持(0) 反对(0) Masako | 园豆:1893 (小虾三级) | 2019-04-17 19:19

@luckytownL: 而且这个代码我没跑,你要用的话可能要改...因为你的URL我访问不了

支持(0) 反对(0) Masako | 园豆:1893 (小虾三级) | 2019-04-17 19:23

@Masako: 没事,就想问问。既然你这么说,我就继续试试能不能按这种想法来保存了。

支持(0) 反对(0) luckytownL | 园豆:199 (初学一级) | 2019-04-17 19:30

@luckytownL: 嗯嗯,你这个没什么问题。

支持(0) 反对(0) Masako | 园豆:1893 (小虾三级) | 2019-04-17 19:30
0

curl可以解决

风散了墨香 | 园豆:211 (菜鸟二级) | 2019-04-17 19:36

没怎么听过,所以不会用 = =

支持(0) 反对(0) luckytownL | 园豆:199 (初学一级) | 2019-04-17 19:46
0

func(){
lock
{
guid
}
}

花飘水流兮 | 园豆:13072 (专家六级) | 2019-04-17 20:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册