Python爬虫系列

用Python 的 opener 来自定义我们的请求内容

2019-08-01  本文已影响20人  我爱学python

具体步骤:

使用相关的Handler处理器来创建特定功能的处理器对象;

然后通过build_opener()方法使用这些处理器对象,创建自定义opener对象;

使用自定义的opener对象,调用open()方法发送请求。

我们先来回顾一下使用 urlopen 获取百度首页的 html 代码实例:

接下来我们看一下使用 opener 的处理方式:

在上面的第一段代码中,我们是通过直接import urllib.request 来导入我们需要的包,这样当我们要使用时需要urllib.request 来使用,第二段代码我们是通过from urllib import request来导入我们需要的包,这样当我们使用时直接request来使用就可以了。

第一段代码在前面的文章中我们已经说过了,这里就不多做解释了。

第二段代码中,我们使用了 opener 的方法来处理我们的请求,这样我们就可以对代理,cookie 等做进一步的操作,后续文章会讲到。最终结果如下:

在http_handler = request.HTTPHandler()中,我们还可以添加一个debuglevel=1参数,会将 Debug Log 打开,这样程序在执行的时候,会把收包和发包的报头在屏幕上自动打印出来,方便调试,有时可以省去抓包的工作。

代码如下:

输出结果如下:

可以看出在响应结果的时候会为我们打印输出一些请求信息。

上一篇下一篇

猜你喜欢

热点阅读