鱼C论坛

 找回密码
 立即注册
查看: 1531|回复: 4

[已解决]python60讲下载图片地址 出现timeout的错误

[复制链接]
发表于 2018-4-2 22:23:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码如下:
import urllib.request
import re

def open_url(url):
    req=urllib.request.Request(url)
    req=req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0')
    response=urllib.request.urlopen(req)
    html=response.read().decode('utf-8')
    return html

def get_img(html):
    p=r'<img class="BDE_Image" src="[^"]+\.jpg"'
    imglist=re.findall(p,html)

    for each in imglist:
        print(each)
   
if __name__=='__main__':
    url='https://tieba.baidu.com/p/3563409202'
    get_img(open_url(url))


错误:
Traceback (most recent call last):
  File "E:/pythonpro/lesson53.py", line 20, in <module>
    get_img(open_url(url))
  File "E:/pythonpro/lesson53.py", line 7, in open_url
    response=urllib.request.urlopen(req)
  File "D:\Python36_64\lib\urllib\request.py", line 223, in urlopen
    return opener.open(url, data, timeout)
  File "D:\Python36_64\lib\urllib\request.py", line 517, in open
    req.timeout = timeout
AttributeError: 'NoneType' object has no attribute 'timeout'

我看了一下错误是在打开网址的时候,是百度加了什么反爬的机制吗??搞不懂a
最佳答案
2018-4-2 22:47:45
def open_url(url):
    req = urllib.request.Request(url)
    req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0')
    response = urllib.request.urlopen(req)
    html = response.read().decode('utf-8')
    return html
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-2 22:47:45 | 显示全部楼层    本楼为最佳答案   
def open_url(url):
    req = urllib.request.Request(url)
    req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0')
    response = urllib.request.urlopen(req)
    html = response.read().decode('utf-8')
    return html
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-3 09:22:44 | 显示全部楼层
ba21 发表于 2018-4-2 22:47
def open_url(url):
    req = urllib.request.Request(url)
    req.add_header('User-Agent','Mozilla/ ...

啥意思呀?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-3 09:51:40 | 显示全部楼层
ba21 发表于 2018-4-2 22:47
def open_url(url):
    req = urllib.request.Request(url)
    req.add_header('User-Agent','Mozilla/ ...

我知道了,,多谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-2 18:25:38 | 显示全部楼层
楼主你好,请问你知道为什么要[^"]吗 求解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-2 02:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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