安华坐便,魅族m8壁纸,澳门赌王何鸿燊资产
本不想使用这个玩意,奈何看到很多地方使用,随手整理下
urllib模块提供的urlretrieve()函数,urlretrieve()方法直接将远程数据下载到本地
urlretrieve(url, filename=none, reporthook=none, data=none)。
- 参数filename指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
- 参数reporthook是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度
- 参数data指post导服务器的数据,该方法返回一个包含两个元素的(filename, headers) 元组,filename 表示保存到本地的路径,header表示服务器的响应头
urlopen一般常用的有三个参数:
urllib.requeset.urlopen(url,data,timeout)
url: 需要打开的网址
data:post提交的数据
timeout:设置网站的访问超时时间
urlopen返回对象提供一些基本方法(快速请求)
read() :返回文本数据
readline():返回一行
info():表示远程服务器返回的头信息。
getcode():返回http状态码,如果是http请求,200表示请求成功完成;404表示网址未找到。
geturl():返回请求的url。
直接用urllib.request模块的urlopen()获取页面,req的数据格式为bytes类型,需要decode()解码,转换成str类型
import urllib.request
import re
url = 'http://tieba.baidu.com/p/2460150866'
req=urllib.request.urlopen(url).read().decode()
r=re.findall(r'src="(.*?\.jpg)" pic_ext',req)
x=0
for i in r:
local='f://python/'
urllib.request.urlretrieve(i,local+ '%s.jpg' % x)
x=x+1
浏览器的模拟(需要添加headers头信息,urlopen不支持,需要使用request)
import urllib.request
url='http://www.baidu.com'
header={'user-agent': 'mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/58.0.3029.96 safari/537.36'}
request=urllib.request.request(url,headers=header)
response=urllib.request.urlopen(request).read()
f=open('file1','wb')
f.write(response)
f.close()
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
python如何查看网页代码
用python查看网页代码的方法:1、使用“import”导入requests包import requests2、使用requests包的get()函数通过网页...
[阅读全文]
-
-
python如何保存文本文件
python保存文本文件的方法:使用python内置的open()类可以打开文本文件,向文件里面写入数据可以用write()函数,写完之后,使用close()函...
[阅读全文]
-
python如何编写win程序
python可以编写win程序。win程序的格式是exe,下面我们就来看一下使用python编写exe程序的方法。编写好python程序后py2exe模块即可将...
[阅读全文]
-
-
-
-
-
-
网友评论