python的urllib.request模块,用urllib爬取数据

  python的urllib.request模块,用urllib爬取数据

  Urllib是python内置的HTTP请求库,是一个用于处理网络请求的python标准库。下面这篇文章主要介绍python爬虫的请求模块的基本用法,有需要的可以参考一下。

  00-1010前言:urllib的子模块HttpResponse。获取信息的常用方法和属性。urlli.parse的使用(一般用来处理带汉字的URL)抓取百度官网HTML源代码,添加请求头信息(重构user_agent),扩展知识,总结开放与开放的区别。

  

目录

  爬虫爬行时,需要使用网络请求,只有在网络请求发出后,才能提取响应结果中的数据。urllib模块是python自带的网络请求模块,无需安装导入即可使用。下面介绍如何使用python中的urllib模块实现网络请求。

  

前言

  描述模块urllib.request模块urllib.parse异常处理模块用于实现基本的HTTP请求。如果在发送网络请求的过程中出现错误,它可以捕获异常并有效地处理它。urllib.robotparser模块用于解析robots.txt文件,判断网站是否可以抓取信息。

  

urllib的子模块

  通过urllib.request()获取的对象类型为HttpReponse,常见的方法有以下几种,例如:

  导入urllib.request

  #定义一个url(您要爬网的URL)

  url=https://www.baidu.com

  #添加请求标题信息

  标题={

  用户代理“:”Mozilla/5.0(Windows NT 10.0;Win64x64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/96 . 0 . 4664 . 45 Safari/537.36

  }

  #创建一个请求对象

  RES=URL lib . request . request(URL=URL,headers=headers)

  #模拟浏览器向服务器发送网络请求

  response=urllib . request . urlopen(RES)

  # read()函数可以得到响应,但是返回的响应格式是二进制的,需要解码。

  # Decoding :decode(编码格式)编码格式可以在响应头,Content_Type中查看。

  打印(百度官网HTML代码如下: \ n ,response.read()。解码( UTF-8 )

  类型# HTTPResponse

  #常用方法:read、readline、readlines、getcode、status、geturl、getheaders、getheader

  # print(type(response))# response是HTTPResponse的类型。

  # (1)逐字节读取。

  content=response.read()

  打印(内容)

  #读取特定的N个字节,并在read()函数中传递参数。

  content2=response.read(5)

  打印(内容2)

  # (2)逐行读取,但只能读取一行。

  content3=response.readline()

  打印(内容3)

  # (3)逐行读取,读取所有行。

  content4=response.readlines()

  打印(内容4)

  # (4)返回状态码的方法:200状态码没有问题,其他状态码可能有问题。

  Print(响应状态代码为,response.getcode())

  打印(响应状态代码为,response.status)

  # (5)

  返回访问的目标的url地址

  print(响应访问的url地址为, response.geturl())

  # (6) 获取的是响应头所有信息

  print(响应头所有信息为, response.getheaders())

  # (7)获取响应头指定信息

  print(响应头指定信息为, response.getheader(Content-Type))

  

  

  

urlli.parse的使用(一般用于处理带中文的url)

  

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: