当前位置:   article > 正文

Python爬虫——简单网页抓取(实战案例)小白篇_python爬虫爬取网页数据(1)_python爬虫爬取所有接口返回的内容

python爬虫爬取所有接口返回的内容

Urllib是Python中请求url连接的官方标准库,在Python2中主要为urllib和urllib2,在Python3中整合成了urllib。

1)主要包含以下4个模块

  • urllib.request:用于打开和阅读URL
  • urllib.error:包含由引发的异常urllib.request
  • urllib.parse:用于解析URL
  • urllib.robotparser:用于解析robot.txt文件

2)urllib.request.urlopen()

模块定义了有助于在复杂环境中打开URL(主要是HTTP)的函数和类-基本身份验证和摘要身份验证,重构定向,Cookie等。

语法结构

urllib.request.urlopen(url,data = None,[ timeout,] *,cafile = None,capath = None,cadefault = False,context = None)

  • 1
  • 2

语法详解

  • url:传入的对象可以是url也可以是一个request的对象;
  • data:data必须是一个直接要发送搭服务器的其他数据的对象,如果没有data数据的话可以为None,也可以不写。
  • timeout:以秒为单位制定用于组织链接尝试之类的操作超时;

3)urllib.openurl:返回对象的方法

  # 设置一个url对象
  url = "百度一下,你就知道"
  #发送请求,打开url
  up = urllib.request.urlopen(url)
  print(type(up))
  
  #返回对象
>>> <class 'http.client.HTTPResponse'>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

上面我们可以看出返回的对象是HTTPResponse类型的,下面一起来看一下HTTPResponse类的方法

发送GET请求:

from urllib import request
response = request.urlopen('百度一下,你就知道')
print(response.read().decode())

  • 1
  • 2
  • 3
  • 4

发送post请求:

from urllib import reuqest
response = 	request.urlopen('Method Not Allowed', data=b'word=hello')
print(response.read().decode())   #decode()解码

  • 1
  • 2
  • 3
  • 4

我们已经知道在讲urlopen中传入一个网址的时候他就会主动的去访问目标的网址,会返回一个HTTPResponse类型的对象,那么我们是怎么知道我们发送的get请求和post请求呢?

    def get_method(self):
    """Return a string indicating the HTTP request method."""
    default_method = "POST" if self.data is not None else "GET"
    return getattr(self, 'method', default_method)

  • 1
  • 2
  • 3
  • 4
  • 5

这个是源码中的一个方法,根据代码我们得知如果data是不为空的话,就是post请求,否则就是get请求。

4)urllib.request.Request

上面的urllib是可对网页发起请求,在我们实际的爬虫应用中,如果频繁的访问一个网页,网站就会识别我们是不是爬虫,这个时候我们就要利用Request来伪装我们的请求头。

urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None)

  • 1
  • 2

推荐使用request()来进行访问的,因为使用request()来进行访问有两点好处:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/901989
推荐阅读
相关标签
  

闽ICP备14008679号