Python标准库中提供了`urllib`和`urllib2`模块用于抓取网页数据,其中`urllib2`模块是对`urllib`模块的扩展,提供更多的功能。下面我们来演示一下如何使用Python标准库抓取网页数据。
首先,我们需要导入`urllib2`模块:
```python
import urllib2
```
然后,我们可以使用`urllib2.urlopen()`函数打开一个URL链接,并获取响应内容:
```python
response = urllib2.urlopen('http://www.baidu.com')
html = response.read()
print(html)
```
上述代码会打印出百度首页的HTML源码。如果我们想要获取响应头信息,可以使用`info()`方法:
```python
response = urllib2.urlopen('http://www.baidu.com')
headers = response.info()
print(headers)
```
如果我们需要发送POST请求,可以使用`urllib2.Request()`函数构造一个请求对象,然后使用`urllib2.urlopen()`函数发送请求并获取响应:
```python
import urllib
import urllib2
url = 'http://www.example.com/login'
values = {'username': 'admin', 'password': '123456'}
data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
html = response.read()
print(html)
```
上述代码会向`http://www.example.com/login`发送一个POST请求,请求参数为`{'username': 'admin', 'password': '123456'}`,并返回响应内容。
除此之外,`urllib2`模块还提供了一些高级功能,比如HTTP认证、代理设置等。如果需要使用这些高级功能,可以参考Python官方文档中的相关章节。
总之,Python标准库提供了简单易用的工具来抓取网页数据,对于一些简单的爬虫任务,使用Python标准库已经足够了。