pythonurllib模块-Python urllib模块与urlopen()函数解析
Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据。
下面是在 Python Shell 里的 urllib 的使用情况:
Python 2.7.5 (default, May 15 2013, 22:44:16) [MSC v.1500 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import urllib
>>> google = urllib.urlopen('http://www.google.com')
>>> print 'http header: ',google.info()
http header:
Date: Wed, 30 Oct 2013 03:11:44 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=Big5
Set-Cookie: PREF=ID=7ee0cbd58be6fb74:FF=0:NW=1:TM=1383102704:LM=1383102704:S=w6DoLuUBc7KUOE69; expires=Fri, 30-Oct-2015 03:11:44 GMT; path=/; domain=.google.com.hk
Set-Cookie: NID=67=cNyh4vZeoDJFnSe12viwoMNh47Hjq98F72I6TTNZGBuJx78aRgQbAA-RtGNFFpARCaN3zJ6OYIpJASB3Q7cmfyRguFh6epcBOSL930KEfIxUa-85e946hE97WfP0lgk7; expires=Thu, 01-May-2014 03:11:44 GMT; path=/; domain=.google.com.hk; HttpOnly
P3P: CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server: gws
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
Alternate-Protocol: 80:quic
>>> print 'http status:',google.getcode()
http status: 200
>>> print 'url:',google.geturl()
url: http://www.google.com.hk/
>>>
上面主要用到了 urllib 库里的 urlopen() 函数。我们可以了解一下这个函数。
继续使用 Python Shell:
>>> help(urllib.urlopen)
Help on function urlopen in module urllib:
urlopen(url, data=None, proxies=None)
Create a file-like object for the specified URL to read from.
即创建一个类文件对象为指定的 url 来读取。
详细点就是,创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。参数url表示远程数据的路径,一般是网址;参数data表示以post方式提交到url的数据(玩过web的人应该知道提交数据的两种方式:post与get。如果你不清楚,也不必太在意,一般情况下很少用到这个参数);参数proxies用于设置代理(这里不详细讲怎么使用代理,感兴趣的看客可以去翻阅Python手册urllib模块)。urlopen返回 一个类文件对象,他提供了如下方法:
参数 url 表示远程数据的路径,一般是 http 或者 ftp 路径。
参数 data 表示以 get 或者 post 方式提交到 url 的数据。
参数 proxies 表示用于代理的设置。
urlopen 返回一个类文件对象,它提供了如下方法:
read() , readline() , readlines(),fileno()和close(): 这些方法的使用与文件对象完全一样。
info():返回一个httplib.HTTPMessage 对象,表示远程服务器返回的头信息。
getcode():返回Http状态码,如果是http请求,200表示请求成功完成;404表示网址未找到。
geturl():返回请求的url地址。
再看一个例子,这个例子把Google首页的html抓取下来并显示在控制台上:
# 别惊讶,整个程序确实只用了两行代码
import urllib
print urllib.urlopen('http://www.google.com').read()
再运行一下这个例子,以加深对urllib的印象:
google = urllib.urlopen('http://www.google.com')
print 'http header:/n', google.info()
print 'http status:', google.getcode()
print 'url:', google.geturl()
for line in google: # 就像在操作本地文件
print line,
google.close()
pythonurllib模块-Python urllib模块与urlopen()函数解析相关推荐
- pythonurllib模块-Python urllib模块 网络资源访问安装下载
urllib是Python标准库最为常用的一个python网络应用资源访问的模块了,它可以让你像访问本地文本文件一样,读取网页的内容. Python urllib的作用是访问一些不需要验证的网络资源和 ...
- [转载] Python—urllib模块
参考链接: Python Urllib模块 urllib模块提供的上层接口使用户能够像读取本地文件一样读取WWW或FTP上的数据,使用起来比C++.C#等编程语言更加方便. 常用的方法如下: 1.ur ...
- python urllib模块的urlopen()的使用方法
Python urllib 库提供了一个从指定的 URL 地址获取网页数据,然后对其进行分析处理,获取想要的数据. 1.urllib模块urlopen()函数: urlopen(url, data=N ...
- [python]python urllib 模块
Urllib是python内置的HTTP请求库 包括以下模块 urllib.request 请求模块 urllib.error 异常处理模块 urllib.parse url解析模块 urllib.r ...
- python urllib模块
urllib模块 urllib.request模块 版本介绍 常用方法 响应对象 urllib.parse模块 常用方法 请求方式 urllib.request模块 版本介绍 在python3.0之前 ...
- python发音模块-python声音模块
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 这也是使用 python 标准库的方法,我们可以把写好的一些可复用的函数 ...
- python用什么来写模块-Python常用模块——模块介绍与导入
Python常用模块--模块介绍与导入 一.什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分 ...
- python找图是什么模块-python中模块查找的原理与方法详解
前言 本文主要给大家介绍了关于python模块查找的原理与方式,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 基础概念 module 模块, 一个 py 文件或以其他文件形式存在的可被 ...
- python datetime模块-Python datetime模块使用方法小结
datetime模块 当前日期 datetime.date.today() datetime.date(2020, 4, 24) 转换元祖 >>> datetime.date.tim ...
最新文章
- 打包图片上传cdn_紧抓5G新时代机遇 又拍云创新发展CDN行业
- beautifulsoup里面的find()和findall()小代码测试
- winform程序打包EXE三种方式
- mysql sae_新浪SAE的mysql与百度SAE的代码区别?
- C专家编程—使用unsigned int可能产生的Bug(1)
- spring + hibernate + mysql 事务不回滚
- 存储入门:存储区域网络SAN技术完全详解
- windows下apache建立不同虚拟主机
- 不同组织物料类别差异列表
- Focal loss及其实现
- iPhone内存溢出——黑白苹果
- Excel引用外部表格,通过Key得到想要的数据
- C++实现单例模式 —— 打印机
- Java子线程异常及异常处理
- qt 文件大图标、列表等样式切换_跬步千里,厚积薄发:深度操作系统v15.9版正式发布...
- 5月刊推荐:怎样才是真正的架构师
- 读《熵减 华为活力之源》
- 银行存款利率C语言程序设计,存款利息的计算 有1000元,想存5年,可按以下5种办法存:...
- Hexo博客添加搜索功能
- Android kotlin自定义自动换行LinearLayout
热门文章
- POJ1038 Bugs Integrated, Inc.
- how tomcat works(第17章: 启动Tomcat)
- 可遇不可求的BUG之采用MYSQL odbc 3.51访问数据库返回值缺失
- [NOIP模拟测试3] 建造游乐园 题解(欧拉图性质)
- Beta 冲刺 (3/7)
- Hexo+github搭建个人博客-博客发布篇
- MYSQL查询数据中通讯最多的两个人
- jsonproperty注解_Jackson注解详解
- python自带的集成开发环境是什么-常用的几款Python集成开发环境或者编辑器详解...
- 精通python爬虫框架-精通Python爬虫从Scrapy到移动应用(文末福利)