鱼C论坛

 找回密码
 立即注册
查看: 1668|回复: 27

[已解决]哪位大佬帮帮我,我这里那错了?

[复制链接]
发表于 2022-5-9 17:10:03 | 显示全部楼层 |阅读模式
5鱼币
1e039abafe049777.jpg
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[i])
                f.write(img)
   
def download_mm(folder='OOXX'):
    os.mkdir(folder)
    os.chdir(folder)
    save_imgs(folder)

if __name__ == '__main__':
    download_mm()
最佳答案
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[i])
                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()

最佳答案

查看完整内容

你的代理好像不能用,所以我注释掉代理那一部分了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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[i])
                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()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 17:11:49 | 显示全部楼层
img_addrs 中的 url 不对,url 是以 http:// 或 https:// 开头的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-9 19:19:22 | 显示全部楼层
isdkz 发表于 2022-5-9 17:11
img_addrs 中的 url 不对,url 是以 http:// 或 https:// 开头的

大佬你是这么看出url中还有https的不是都是http吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 19:21:13 | 显示全部楼层
本帖最后由 isdkz 于 2022-5-9 19:23 编辑
风百默 发表于 2022-5-9 19:19
大佬你是这么看出url中还有https的不是都是http吗


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

所以得看你这几个链接的网站用的是什么协议
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-9 19:23:48 | 显示全部楼层
isdkz 发表于 2022-5-9 17:21
你的代理好像不能用,所以我注释掉代理那一部分了

大佬,我这代理为什么不能用了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 19:23:57 | 显示全部楼层
isdkz 发表于 2022-5-9 17:11
img_addrs 中的 url 不对,url 是以 http:// 或 https:// 开头的

没加协议?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 19:25:20 | 显示全部楼层
风百默 发表于 2022-5-9 19:23
大佬,我这代理为什么不能用了

不知道你的代理是哪里来的,一般代理都存活不了多久
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 19:26:13 | 显示全部楼层

嗯嗯,url 要带上协议
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 19:26:30 | 显示全部楼层
风百默 发表于 2022-5-9 19:19
大佬你是这么看出url中还有https的不是都是http吗

你代理是http的只可以用在http协议里面,我也没看出你的协议是啥类型哈哈,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 19:28:57 | 显示全部楼层
你首先要看看url的协议是啥,然后代理要对应,而且代理的存活时间一般不长,建议封装代理池
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-9 19:35:41 | 显示全部楼层
isdkz 发表于 2022-5-9 19:21
http 不行就用 https 呗,不过同一个链接来源的地址一般都是用同一个协议的,

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

大佬这个协议怎么找,我访问的网站是这个https://www.huaon.com/channel/distdata/782329.html
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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 也可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-9 19:44:22 | 显示全部楼层
isdkz 发表于 2022-5-9 17:21
你的代理好像不能用,所以我注释掉代理那一部分了

大佬,刚刚我试了一下,它还是报错 -3faf0edf3f67f1c7.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 19:51:22 From FishC Mobile | 显示全部楼层
风百默 发表于 2022-5-9 19:44
大佬,刚刚我试了一下,它还是报错

复制我的代码报错吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-9 19:59:00 | 显示全部楼层
本帖最后由 风百默 于 2022-5-9 20:00 编辑
isdkz 发表于 2022-5-9 19:51
复制我的代码报错吗?


嗯,报错了,我试了几次中间有一次成功了,为什么会这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-9 20:24:55 | 显示全部楼层
-574ae7e39fb980fa.jpg
isdkz 发表于 2022-5-9 19:51
复制我的代码报错吗?


大佬,我运行成功了,是我的URL出了问题,我还想再问一个问题,我找了最新的代理ip为什么还是报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

我不会封装代理池,我改了一下代理ip但还是不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-9 20:40:52 From FishC Mobile | 显示全部楼层
风百默 发表于 2022-5-9 20:26
我不会封装代理池,我改了一下代理ip但还是不对

试试给代理 ip 也加上协议
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-5-9 20:57:26 | 显示全部楼层
本帖最后由 风百默 于 2022-5-9 21:08 编辑
isdkz 发表于 2022-5-9 20:40
试试给代理 ip 也加上协议


大佬,我不加代理IP了,我这样试了一下为什么错了? 5c335cf62c640045.jpg
-5a27e6e625514966.jpg
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 = [a,b,c,d,e,f,g,h]

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[i])
                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()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 10:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表