10. Urllib3和requests的使用
优质
小牛编辑
133浏览
2023-12-01
Python3 默认提供了urllib库,可以爬取网页信息,但其中确实有不方便的地方,如:处理网页验证和Cookies,以及Hander头信息处理。
为了更加方便处理,有了更为强大的库
urllib3
和requests
, 本节会分别介绍一下,以后我们着重使用requests
。urllib3网址:https://pypi.org/project/urllib3/
requests网址:http://www.python-requests.org/en/master/
1. urllib3库的使用:
- 安装:通过使用pip命令来安装urllib3
pip install urllib3
- 简单使用:
import urllib3
import re
# 实例化产生请求对象
http = urllib3.PoolManager()
# get请求指定网址
url = "http://www.baidu.com"
res = http.request("GET",url)
# 获取HTTP状态码
print("status:%d" % res.status)
# 获取响应内容
data = res.data.decode("utf-8")
# 正则解析并输出
print(re.findall("<title>(.*?)</title>",data))
- 其他设置: 增加了超时时间,请求参数等设置
import urllib3
import re
url = "http://www.baidu.com"
http = urllib3.PoolManager(timeout = 4.0) #设置超时时间
res = http.request(
"GET",
url,
#headers={
# 'User-Agent':'Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1',
#},
fields={'id':100,'name':'lisi'}, #请求参数信息
)
print("status:%d" % res.status)
data = res.data.decode("utf-8")
print(re.findall("<title>(.*?)</title>",data))
2. requests库的使用:
- 安装:通过使用pip命令来安装requests
pip install requests
- 简单使用:
import requests
import re
url = "http://www.baidu.com"
# 抓取信息
res = requests.get(url)
#获取HTTP状态码
print("status:%d" % res.status_code)
# 获取响应内容
data = res.content.decode("utf-8")
#解析出结果
print(re.findall("<title>(.*?)</title>",data))
- 关于请求中的参数下节课再讲