认识爬虫:使用 urllib2 库与 cookielib 库读取网页内容的三种方法

在简单爬虫中,第二个步骤就是使用网页下载器对网页进行下载以及获取下载请求的状态等。urllib2 库主要用于读取网页内容以及请求状态、cookielib 库主要为了增加网页下载器处理 cookie 的能力。

1、导入第三方扩展库
1# 导入 urllib2 库、用于网页下载
2import urllib2
3# 导入 cookielib 库、处理 cookie 信息
4import cookielib
2、urlopen() 函数实现网页下载
 1def use_urlopen(url):
 2    if url is None:
 3        # 定义爬虫的 url
 4        url = "http://www.baidu.com"
 5    # 打开网页下载链接
 6    response = urllib2.urlopen(url)
 7    # 打印请求的响应状态,200 时表示成功
 8    print "网页请求状态:", response.getcode()
 9    # read() 读取网页源代码内容
10    content = response.read()
11    # 打印源代码内容
12    print "源代码内容:", content
13    # 获取源代码内容的字符串长度
14    print "网页字符串长度:", len(content)
3、Request() 函数模拟浏览器实现网页下载
 1def use_request(url):
 2    if url is None:
 3        # 定义爬虫的 url
 4        url = "http://www.baidu.com"
 5    # 构造 request 请求
 6    request = urllib2.Request(url)
 7    # 添加构造请求头
 8    request.add_header("user-agent", "Mozilla/5.0")
 9    # 打开网页下载链接
10    response = urllib2.urlopen(request)
11    # 打印请求的响应状态,200 时表示成功
12    print "网页请求状态:", response.getcode()
13    # read() 读取网页源代码内容
14    content = response.read()
15    # 打印源代码内容
16    print "源代码内容:", content
17    # 获取源代码内容的字符串长度
18    print "网页字符串长度:", len(content)
4、build_opener() 函数加入网页下载器处理 cookie 的能力
 1def use_build_opener(url):
 2    if url is None:
 3        # 定义爬虫的 url
 4        url = "http://www.baidu.com"
 5    # 获取 cookie 对象
 6    cookie = cookielib.CookieJar()
 7    # 将 cookie 处理能力加入 opener
 8    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
 9    # 安装 opener
10    urllib2.install_opener(opener)
11    # 打开下载链接
12    response = urllib2.urlopen(url)
13    # 打印请求的响应状态,200 时表示成功
14    print "网页请求状态:", response.getcode()
15    # read() 读取网页源代码内容
16    content = response.read()
17    # 打印源代码内容
18    print "源代码内容:", content
19    # 获取源代码内容的字符串长度
20    print "网页字符串长度:", len(content)
21    # 打印 cookie 信息
22    print "cookie 信息",cookie

实力的提升是最重要的,进入公众号回复:“python计算题”,领取100道 python 案例计算题、快去领取刷题吧~

更多精彩前往微信公众号【Python 集中营】,关注获取《python 从入门到精通全套视频》
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python 集中营

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值