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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。