使用urllib2库编写简单的网络爬虫程序
发布时间:2024-01-08 03:36:30
urllib2是Python标准库中的一个模块,用于处理HTTP请求。它提供了一个简单、方便的方法来发送HTTP请求、处理响应并与网络资源进行交互。下面是一个使用urllib2库编写简单的网络爬虫程序的示例代码:
import urllib2
# 发送GET请求并获取响应
response = urllib2.urlopen('http://www.example.com/')
html = response.read()
# 打印响应内容
print html
# 发送POST请求并获取响应
url = 'http://www.example.com/login'
data = 'username=admin&password=123456' # POST数据
req = urllib2.Request(url, data=data)
# 添加请求头部
req.add_header('User-Agent', 'Mozilla/5.0') # 模拟浏览器请求
# 发送请求并获取响应
response = urllib2.urlopen(req)
html = response.read()
# 打印响应内容
print html
# 处理异常
try:
response = urllib2.urlopen('http://www.example.com/nonexistent')
except urllib2.HTTPError as e:
print 'HTTP Error:', e.code, e.reason
except urllib2.URLError as e:
print 'URL Error:', e.reason
在上述代码中,我们首先使用urlopen函数发送了一个GET请求,获取了网页的HTML内容,并将其打印出来。然后,我们使用urlopen函数发送了一个POST请求,传递了用户名和密码,并将响应的内容打印出来。最后,我们使用urlopen函数发送了一个不存在的URL,捕获了可能发生的异常,分别打印出了HTTP错误和URL错误。
在发送POST请求时,我们使用了urllib2.Request类来创建一个请求对象。我们可以通过add_header方法来添加请求头部,从而模拟浏览器的请求。然后,我们将请求对象传递给urlopen函数来发送请求。
需要注意的是,urllib2模块在Python 3中已经被合并到urllib模块中,所以在Python 3中需要使用import urllib.request来导入相关的模块。
以上就是一个简单的使用urllib2库编写的网络爬虫程序的示例代码。通过使用这个库,我们可以方便地发送HTTP请求,处理响应,并处理可能的异常。
