pythonurllib库获取yahoo财经数据_使用urllib爬取数据

本文详细介绍了Python的urllib库和urllib2模块用于爬取网页数据的方法,包括urlopen()、urlretrieve()、urlencode()等函数的使用,以及携带Header信息、GET和POST方法的实现。同时,还提到了BeautifulSoup库的安装和基本用法,用于解析抓取的数据。
摘要由CSDN通过智能技术生成

### **一、使用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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值