python中urllib的整理
本不想使用这个玩意,奈何看到很多地方使用,随手整理下
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。 urllib模块提供的urlretrieve()函数,urlretrieve()方法直接将远程数据下载到本地
urlretrieve(url, filename=None, reporthook=None, data=None)。
- 参数filename指定了保存本地路径(如果参数未指定,urllib会生成一个临时文件保存数据。)
- 参数reporthook是一个回调函数,当连接上服务器、以及相应的数据块传输完毕时会触发该回调,我们可以利用这个回调函数来显示当前的下载进度
- 参数data指post导服务器的数据,该方法返回一个包含两个元素的(filename, headers) 元组,filename 表示保存到本地的路径,header表示服务器的响应头
import urllib.request浏览器的模拟(需要添加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()
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

更多精彩