urlib:URL handling modules;
urllib is a package that collects several modules for working with URLs:
- urllib.request for opening and reading URLs
- urllib.error containing the exceptions raised by urllib.request
- urllib.parse for parsing URLs
- urllib.robotparser for parsing robots.txt files
1、抓取网络页面
urllib.urlopen(url[, data[, proxies]]) :打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作
- url: 表示远程数据的路径
- data: 以post方式提交到url的数据
- proxies:用于设置代理
urlopen返回对象提供方法:
- read() , readline() ,readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样
- info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
- getcode():返回Http状态码。如果是http请求,200请求成功完成;404网址未找到
- geturl():返回请求的url
2、下载远程数据
urlretrieve方法将url定位到的html文件下载到你本地的硬盘中;
urllib.urlretrieve(url[, filename[, reporthook[, data]]]):
- filename指定保存到本地的路径(若未指定该,urllib生成一个临时文件保存数据)
- reporthook回调函数,当连接上服务器、以及相应的数据块传输完毕的时候会触发该回调
- data指post到服务器的数据