当前位置:首页 > 编程教程 > Python技术文章 > 解决python3 urllib中urlopen报错的问题

python3 urllib中urlopen报错的问题解决办法

  • 发布时间:
  • 作者:码农之家
  • 点击:176

这篇文章主要知识点是关于python3、urllib、urlopen、的内容,如果大家想对相关知识点有系统深入的学习,可以参阅以下电子书

Python3标准库
Python3标准库中文完整版
  • 类型:Python大小:148.9 MB格式:PDF作者:道格·赫尔曼
立即下载

解决python3 urllib中urlopen报错的问题

前言

最近更新了Python版本,准备写个爬虫,意外的发现urllib库中属性不存在urlopen,于是各种google,然后总结一下给出解决方案

问题的出现

解决python3 urllib中urlopen报错的问题

AttributeError: 'module' object has no attribute 'urlopen'

问题的解决途径

我们先来看下官方文档的解释:

a new urllib package was created. It consists of code from 
urllib, urllib2, urlparse, and robotparser. The old 
modules have all been removed. The new package has five submodules: 
urllib.parse, urllib.request, urllib.response, 
urllib.error, and urllib.robotparser. The 
urllib.request.urlopen() function uses the url opener from 
urllib2. (Note that the unittests have not been renamed for the 
beta, but they will be renamed in the future.) 

也就是说官方3.0版本已经把urllib2,urlparse等五个模块都并入了urllib中,也就是整合了。

正确的使用方法

import urllib.request 
url="http://www.baidu.com" 
get=urllib.request.urlopen(url).read() 
print(get) 

结果示意图:

解决python3 urllib中urlopen报错的问题

其实也是可以换个utf-8的编码让读取出来的源码更正确的,但这已经是番外的不再提了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对码农之家的支持。

以上就是本次给大家分享的关于java的全部知识点内容总结,大家还可以在下方相关文章里找到相关文章进一步学习,感谢大家的阅读和支持。

您可能感兴趣的文章:

  • 实例解析python urllib urlopen()对象方法/代理的补充说明
  • python urllib2用法代码
  • 详解python爬虫 urllib模块发起post请求
  • python3 相关电子书
    学习笔记
    网友NO.848397

    实例解析python urllib urlopen()对象方法/代理的补充说明

    python urllib urlopen()对象方法/代理的补充说明 urllib 是 python 自带的一个抓取网页信息一个接口,他最主要的方法是 urlopen(),是基于 python 的 open() 方法的。下面是主要说明: urllib.urlopen(网址) 这里传入urlopen()的参数有特别说要求,要遵循一些网络协议,比如http,ftp,也就是说,在网址的开头必须要有http://这样的说明,如:urllib.urlopen(http://www.baidu.com)。 要么就是本地文件,本地文件需要使用file关键字,比如 urllib.urlopen(file:nowamagic.py),注意,这里的hello.py是指的是当前的classpath所指定的内容,如果对hello.py这里有什么疑问那一定是python寻找classpath的顺序不是很清楚了,当然也可以直接写全部路径,urllib.urlopen(file:F:\pythontest\nowamagic.py)。 打开 ftp 文件也是可以的,写法 urllib.urlopen(url=ftp://用户名:密码@ftp地址/) 等。 示例程序: import urllibf = urllib.urlopen(file:F:\py……

    网友NO.117315

    python爬虫 urllib模块url编码处理详解

    案例:爬取使用搜狗根据指定词条搜索到的页面数据(例如爬取词条为‘周杰伦'的页面数据) import urllib.request# 1.指定urlurl = 'https://www.sogou.com/web?query=周杰伦''''2.发起请求:使用urlopen函数对指定的url发起请求,该函数返回一个响应对象,urlopen代表打开url'''response = urllib.request.urlopen(url=url)# 3.获取响应对象中的页面数据:read函数可以获取响应对象中存储的页面数据(byte类型的数据值)page_text = response.read()# 4.持久化存储:将爬取的页面数据写入文件进行保存with open("sougou.html","wb") as f: f.write(page_text) print("写入数据成功") f.close() 编码错误 【注意】上述代码中url存在非ascii编码的数据,则该url无效。如果对其发起请求,则会报如下错误: UnicodeEncodeError: 'ascii' codec can't encode characters in position 15-17: ordinal not in range(128) url的特性:url不可以存在非ASCII编码字符数据,……

    <
    1
    >

    Copyright 2018-2020 www.xz577.com 码农之家

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com