博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python模块: urllib模块详解 !!
阅读量:6093 次
发布时间:2019-06-20

本文共 2519 字,大约阅读时间需要 8 分钟。

前言

相信大家在做一个Python项目的时候,肯定会用到模块,就想JAVA会用到JAR包一样,这样会让我们的开发更高效和更简洁,本节为大家介绍一个URLlib模块

在python中urllib模块提供上层接口,可以使用它下载读取数据,这里举个例子,把sina首页的html抓取下来显示出来.有2种方法可以实现.

1.urlopen(url, data=None, proxies=None)    urlopen(url [, data]) -> open file-like object

创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远程数据。参数url表示远程数据的路径,一般是网址;参数data表示以post方式提交到url的数据;参数proxies用于设置代理.urlopen返回一个类文件对象.

#!/usr/bin/python2.5import urlliburl = "http://www.sina.com"data = urllib.urlopen(url).read()print data```

root@10.1.6.200:~# python gethtml.py

тK˗ҳ

....`

2 urlretrieve(url, filename=None, reporthook=None, data=None)

urlretrieve方法直接将远程数据下载到本地。参数filename指定了保存到本地的路径(如果未指定该参数,urllib会生成一个临时文件来保存数据);参数reporthook是一个回调函数,当连接上服务器.以及相应的数据块传输完毕的时候会触发该回调.

#!/usr/bin/python2.5import urlliburl = "http://www.sina.com"path = "/root/sina.txt"data = urllib.urlretrieve(url,path)```

root@10.1.6.200:~# python getsina.py

root@10.1.6.200:~# cat sina.txt

тK˗ҳ

....

不仅如此,这里写个爬虫小程序,可以把百度贴吧http://tieba.baidu.com/p/2236567282网页上的jpg图片依次下载下来.

root@10.1.6.200:~# cat getJpg.py

!/usr/bin/python2.5

import re

import urllib

def getHtml(url):

html = urllib.urlopen(url).read()return html

def getJpg(html):

reg = r'src="(http://.*?\.jpg)"'imgre = re.compile(reg)imgList = re.findall(imgre,html)x = 0for imgurl in imgList:    urllib.urlretrieve(imgurl,'%s.jpg' % x)    x += 1

html = getHtml("http://tieba.baidu.com/p/2236567282")

getJpg(html)`

root@10.1.6.200:~# python 11.py root@10.1.6.200:~# ls -ltotal 1680-rw-r--r-- 1 root root  38695 2013-04-11 23:32 0.jpg-rw-r--r-- 1 root root  48829 2013-04-11 23:32 10.jpg-rw-r--r-- 1 root root  51835 2013-04-11 23:32 11.jpg-rw-r--r-- 1 root root  41688 2013-04-11 23:32 12.jpg-rw-r--r-- 1 root root   1077 2013-04-11 23:32 13.jpg-rw-r--r-- 1 root root  33989 2013-04-11 23:32 14.jpg-rw-r--r-- 1 root root  41890 2013-04-11 23:32 15.jpg-rw-r--r-- 1 root root  35728 2013-04-11 23:32 16.jpg-rw-r--r-- 1 root root  44405 2013-04-11 23:32 17.jpg-rw-r--r-- 1 root root  29847 2013-04-11 23:32 18.jpg-rw-r--r-- 1 root root  44607 2013-04-11 23:32 19.jpg-rw-r--r-- 1 root root  23939 2013-04-11 23:32 1.jpg-rw-r--r-- 1 root root  45592 2013-04-11 23:32 20.jpg-rw-r--r-- 1 root root  60910 2013-04-11 23:32 2.jpg-rw-r--r-- 1 root root  39014 2013-04-11 23:32 3.jpg-rw-r--r-- 1 root root  19057 2013-04-11 23:32 4.jpg-rw-r--r-- 1 root root  64584 2013-04-11 23:32 5.jpg-rw-r--r-- 1 root root  29297 2013-04-11 23:32 6.jpg-rw-r--r-- 1 root root  39145 2013-04-11 23:32 7.jpg-rw-r--r-- 1 root root   1059 2013-04-11 23:32 8.jpg

转载地址:http://zpwza.baihongyu.com/

你可能感兴趣的文章
C++ 经典开源
查看>>
LayoutParams
查看>>
Chisel_LLDB调试命令
查看>>
DNS Doctoring
查看>>
(转载一篇)Windows7与ArcGIS Desktop9.3冲突问题解决(由QQ安装问题引出)(经本人验证已解决)...
查看>>
dedecms生成文档数据库崩溃 mysql daemon failed to start
查看>>
Linux的50个基本命令
查看>>
Objective-C中创建单例方法的步骤
查看>>
[转]无法安装MVC3,一直卡在vs10-kb2483190
查看>>
Codeforces 520B:Two Buttons(思维,好题)
查看>>
web框架-(二)Django基础
查看>>
Jenkins持续集成环境部署
查看>>
emoji等表情符号存mysql的方法
查看>>
Excel到R中的日期转换
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
linux文本模式和文本替换功能
查看>>
Windows SFTP 的安装
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>