### **一、使用urllib爬取数据**
### **1.urlopen( )**
#### 打开一个url的方法,返回一个文件对象,然后可以进行类似文件对象的操作
>[success] 说明
> 1. read() ,readline(), readlines() , fileno(), close(): 这些方法的使用方式与文件对象完全一样
> 2. info() : 返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息
> 3. getcode():返回Http状态码。如果是http请求,200请求成功完成,404网址未找到
> 4. geturl(): 返回请求的url
> 5. 如果urlopen()不能够成功打开一个url,那么会产生一个异常,此时可以通过try来捕获然后处理。
```
>>> #导入模考
>>> import urllib
>>> #打开指定的url
>>> f = urllib.urlopen('http://www.baidu.com')
>>> #读取html页面的第一行
>>> firstLine = f.readline()
>>> firstLine
```
### **2.urlretrieve()**
>[success] urlretrieve方法将url定位到的html文件下载到你本地的硬盘中。
> 如果不指定filename,则会存为临时文件。
> urlretrieve()返回一个二元组(filename,mine_hdrs)
1. 不指定路径
```
>>>urllib.urlretrieve("http://news.eastday.com/c/20140127/images/0001.jpg")
('/tmp/tmpnCYZNy.jpg',)
```
2.指定路径
```
>>>urllib.urlretrieve("http://news.eastday.com/c/20140127/images/0001.jpg",filename="/home/python/baidu.jpg")
('/home/python/baidu.jpg',)
```
## 使用简单的正则解析数据
```
#coding=utf-8
#正则表达式模块
import re
#获取路径模块
import urllib
def getHtml(url):
page=urllib.urlopen(url)
html=page.read()
return html
def getImage(html):
imglist = re.findall(r' src="(.*?\.(jpg|png))" ',html)
x=0
for imgurl in imglist:
print('正在下载%s