风百默 发表于 2022-5-9 17:10:03

哪位大佬帮帮我,我这里那错了?


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()

isdkz 发表于 2022-5-9 17:10:04

你的代理好像不能用,所以我注释掉代理那一部分了

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()

isdkz 发表于 2022-5-9 17:11:49

img_addrs 中的 url 不对,url 是以 http:// 或 https:// 开头的

风百默 发表于 2022-5-9 19:19:22

isdkz 发表于 2022-5-9 17:11
img_addrs 中的 url 不对,url 是以 http:// 或 https:// 开头的

大佬你是这么看出url中还有https的不是都是http吗

isdkz 发表于 2022-5-9 19:21:13

本帖最后由 isdkz 于 2022-5-9 19:23 编辑

风百默 发表于 2022-5-9 19:19
大佬你是这么看出url中还有https的不是都是http吗

http 不行就用 https 呗,不过同一个链接来源的地址一般都是用同一个协议的,

所以得看你这几个链接的网站用的是什么协议

风百默 发表于 2022-5-9 19:23:48

isdkz 发表于 2022-5-9 17:21
你的代理好像不能用,所以我注释掉代理那一部分了

大佬,我这代理为什么不能用了

洛与春风 发表于 2022-5-9 19:23:57

isdkz 发表于 2022-5-9 17:11
img_addrs 中的 url 不对,url 是以 http:// 或 https:// 开头的

没加协议?

isdkz 发表于 2022-5-9 19:25:20

风百默 发表于 2022-5-9 19:23
大佬,我这代理为什么不能用了

不知道你的代理是哪里来的,一般代理都存活不了多久

isdkz 发表于 2022-5-9 19:26:13

洛与春风 发表于 2022-5-9 19:23
没加协议?

嗯嗯,url 要带上协议

洛与春风 发表于 2022-5-9 19:26:30

风百默 发表于 2022-5-9 19:19
大佬你是这么看出url中还有https的不是都是http吗

你代理是http的只可以用在http协议里面,我也没看出你的协议是啥类型哈哈,

洛与春风 发表于 2022-5-9 19:28:57

你首先要看看url的协议是啥,然后代理要对应,而且代理的存活时间一般不长,建议封装代理池

风百默 发表于 2022-5-9 19:35:41

isdkz 发表于 2022-5-9 19:21
http 不行就用 https 呗,不过同一个链接来源的地址一般都是用同一个协议的,

所以得看你这几个链接 ...

大佬这个协议怎么找,我访问的网站是这个https://www.huaon.com/channel/distdata/782329.html

isdkz 发表于 2022-5-9 19:38:23

风百默 发表于 2022-5-9 19:35
大佬这个协议怎么找,我访问的网站是这个https://www.huaon.com/channel/distdata/782329.html

如果它的图片标签那里不带协议,跟你访问的网站一样即可

https://www.huaon.com/channel/distdata/782329.html

不过图片的链接一般 http 也可以

风百默 发表于 2022-5-9 19:44:22

isdkz 发表于 2022-5-9 17:21
你的代理好像不能用,所以我注释掉代理那一部分了

大佬,刚刚我试了一下,它还是报错

isdkz 发表于 2022-5-9 19:51:22

风百默 发表于 2022-5-9 19:44
大佬,刚刚我试了一下,它还是报错

复制我的代码报错吗?

风百默 发表于 2022-5-9 19:59:00

本帖最后由 风百默 于 2022-5-9 20:00 编辑

isdkz 发表于 2022-5-9 19:51
复制我的代码报错吗?

嗯,报错了,我试了几次中间有一次成功了,为什么会这样

风百默 发表于 2022-5-9 20:24:55

isdkz 发表于 2022-5-9 19:51
复制我的代码报错吗?

大佬,我运行成功了,是我的URL出了问题,我还想再问一个问题,我找了最新的代理ip为什么还是报错

风百默 发表于 2022-5-9 20:26:52

洛与春风 发表于 2022-5-9 19:28
你首先要看看url的协议是啥,然后代理要对应,而且代理的存活时间一般不长,建议封装代理池

我不会封装代理池,我改了一下代理ip但还是不对

isdkz 发表于 2022-5-9 20:40:52

风百默 发表于 2022-5-9 20:26
我不会封装代理池,我改了一下代理ip但还是不对

试试给代理 ip 也加上协议

风百默 发表于 2022-5-9 20:57:26

本帖最后由 风百默 于 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
查看完整版本: 哪位大佬帮帮我,我这里那错了?