哪位大佬帮帮我,我这里那错了?
import urllib.request
import os
import random
img_addrs = ['//cdn.huaon.com/images/2022/0209/974cc74222f63b6cb8af667198e1feb6db144761.png?x-oss-process=style/wt750','//cdn.huaon.com/images/2022/0209/a4d5a7f49bce89bab8322a0ff8eb05ed8ac75dc3.png?x-oss-process=style/wt750','//cdn.huaon.com/images/2022/0209/d4adfed092c98bb7c039e38f0ef9fa34ede01c65.png?x-oss-process=style/wt750','//cdn.huaon.com/images/2022/0209/a70a02908b7534286ae7eb2b924c2dd9779a4837.png?x-oss-process=style/wt750']
def url_open(url):
req = urllib.request.Request(url)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.4153 SLBChan/105')
proxies = ['119.6.144.70:81', '111.1.36.9:80', '203.144.144.162:8080']
proxy = random.choice(proxies)
proxy_support = urllib.request.ProxyHandler({'http':proxy})
opener = urllib.request.build_opener(proxy_support)
urllib.request.install_opener(opener)
response = urllib.request.urlopen(url)
html = response.read()
return html
def save_imgs(folder):
for i in range(0,4):
filename = '统计图'+str(i)+'.png'
with open(filename, 'wb') as f:
img = url_open(img_addrs)
f.write(img)
def download_mm(folder='OOXX'):
os.mkdir(folder)
os.chdir(folder)
save_imgs(folder)
if __name__ == '__main__':
download_mm()
你的代理好像不能用,所以我注释掉代理那一部分了
import urllib.request
import os
import random
img_addrs = ['http://cdn.huaon.com/images/2022/0209/974cc74222f63b6cb8af667198e1feb6db144761.png?x-oss-process=style/wt750','http://cdn.huaon.com/images/2022/0209/a4d5a7f49bce89bab8322a0ff8eb05ed8ac75dc3.png?x-oss-process=style/wt750','http://cdn.huaon.com/images/2022/0209/d4adfed092c98bb7c039e38f0ef9fa34ede01c65.png?x-oss-process=style/wt750','http://cdn.huaon.com/images/2022/0209/a70a02908b7534286ae7eb2b924c2dd9779a4837.png?x-oss-process=style/wt750'] # 注意这里
def url_open(url):
req = urllib.request.Request(url)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.4153 SLBChan/105')
# proxies = ['119.6.144.70:81', '111.1.36.9:80', '203.144.144.162:8080']
# proxy = random.choice(proxies)
# proxy_support = urllib.request.ProxyHandler({'http':proxy})
# opener = urllib.request.build_opener(proxy_support)
# urllib.request.install_opener(opener)
response = urllib.request.urlopen(req) # 注意这里
html = response.read()
return html
def save_imgs(folder):
for i in range(0,4):
filename = '统计图'+str(i)+'.png'
with open(filename, 'wb') as f:
img = url_open(img_addrs)
f.write(img)
def download_mm(folder='OOXX'):
if not os.path.exists(folder): # 注意这里
os.mkdir(folder)
os.chdir(folder)
save_imgs(folder)
if __name__ == '__main__':
download_mm() img_addrs 中的 url 不对,url 是以 http:// 或 https:// 开头的 isdkz 发表于 2022-5-9 17:11
img_addrs 中的 url 不对,url 是以 http:// 或 https:// 开头的
大佬你是这么看出url中还有https的不是都是http吗 本帖最后由 isdkz 于 2022-5-9 19:23 编辑
风百默 发表于 2022-5-9 19:19
大佬你是这么看出url中还有https的不是都是http吗
http 不行就用 https 呗,不过同一个链接来源的地址一般都是用同一个协议的,
所以得看你这几个链接的网站用的是什么协议 isdkz 发表于 2022-5-9 17:21
你的代理好像不能用,所以我注释掉代理那一部分了
大佬,我这代理为什么不能用了 isdkz 发表于 2022-5-9 17:11
img_addrs 中的 url 不对,url 是以 http:// 或 https:// 开头的
没加协议?
风百默 发表于 2022-5-9 19:23
大佬,我这代理为什么不能用了
不知道你的代理是哪里来的,一般代理都存活不了多久 洛与春风 发表于 2022-5-9 19:23
没加协议?
嗯嗯,url 要带上协议 风百默 发表于 2022-5-9 19:19
大佬你是这么看出url中还有https的不是都是http吗
你代理是http的只可以用在http协议里面,我也没看出你的协议是啥类型哈哈, 你首先要看看url的协议是啥,然后代理要对应,而且代理的存活时间一般不长,建议封装代理池 isdkz 发表于 2022-5-9 19:21
http 不行就用 https 呗,不过同一个链接来源的地址一般都是用同一个协议的,
所以得看你这几个链接 ...
大佬这个协议怎么找,我访问的网站是这个https://www.huaon.com/channel/distdata/782329.html 风百默 发表于 2022-5-9 19:35
大佬这个协议怎么找,我访问的网站是这个https://www.huaon.com/channel/distdata/782329.html
如果它的图片标签那里不带协议,跟你访问的网站一样即可
https://www.huaon.com/channel/distdata/782329.html
不过图片的链接一般 http 也可以 isdkz 发表于 2022-5-9 17:21
你的代理好像不能用,所以我注释掉代理那一部分了
大佬,刚刚我试了一下,它还是报错 风百默 发表于 2022-5-9 19:44
大佬,刚刚我试了一下,它还是报错
复制我的代码报错吗? 本帖最后由 风百默 于 2022-5-9 20:00 编辑
isdkz 发表于 2022-5-9 19:51
复制我的代码报错吗?
嗯,报错了,我试了几次中间有一次成功了,为什么会这样 isdkz 发表于 2022-5-9 19:51
复制我的代码报错吗?
大佬,我运行成功了,是我的URL出了问题,我还想再问一个问题,我找了最新的代理ip为什么还是报错 洛与春风 发表于 2022-5-9 19:28
你首先要看看url的协议是啥,然后代理要对应,而且代理的存活时间一般不长,建议封装代理池
我不会封装代理池,我改了一下代理ip但还是不对 风百默 发表于 2022-5-9 20:26
我不会封装代理池,我改了一下代理ip但还是不对
试试给代理 ip 也加上协议 本帖最后由 风百默 于 2022-5-9 21:08 编辑
isdkz 发表于 2022-5-9 20:40
试试给代理 ip 也加上协议
大佬,我不加代理IP了,我这样试了一下为什么错了?
import urllib.request
import os
a = 'https://cdn.huaon.com/images/2022/0209/974cc74222f63b6cb8af667198e1feb6db144761.png?x-oss-process=style/wt750'
b = 'https://cdn.huaon.com/images/2022/0209/a4d5a7f49bce89bab8322a0ff8eb05ed8ac75dc3.png?x-oss-process=style/wt750'
c = 'https://cdn.huaon.com/images/2022/0209/d4adfed092c98bb7c039e38f0ef9fa34ede01c65.png?x-oss-process=style/wt750'
d = 'https://cdn.huaon.com/images/2022/0209/a70a02908b7534286ae7eb2b924c2dd9779a4837.png?x-oss-process=style/wt750'
e = 'https://cdn.huaon.com/images/2022/0210/efbd4dbee868df1419eb63f05b2f7db351109df6.png?x-oss-process=style/wt750'
f = 'https://cdn.huaon.com/images/2022/0210/b5a1329e58424f58f548293e3666d5dc55f5217d.png?x-oss-process=style/wt750'
g = 'https://cdn.huaon.com/images/2022/0210/78e857f7afec592a4c6f6e26cc2d6f5ee9c25349.png?x-oss-process=style/wt750'
h = 'https://cdn.huaon.com/images/2022/0210/60aec57a50e9721172a92876dccaed9bb87ecbfb.png?x-oss-process=style/wt750'
img_addrs =
def url_open(url):
req = urllib.request.Request(url)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.4153 SLBChan/105')
response = urllib.request.urlopen(req)
html = response.read()
return html
def save_imgs(folder):
for i in range(0,8):
filename = '统计图'+str(i)+'.png'
with open(filename, 'wb') as f:
img = url_open(img_addrs)
f.write(img)
def download_mm(folder='OOXX'):
if not os.path.exists(folder):
os.mkdir(folder)
os.chdir(folder)
save_imgs(folder)
if __name__ == '__main__':
download_mm()
页:
[1]
2