Python3 默认提供了urllib库,可以爬取网页信息,但其中确实有不方便的地方,如:处理网页验证和Cookies,以及Hander头信息处理。
为了更加方便处理,有了更为强大的库 urllib3
和 requests
, 本节会分别介绍一下,以后我们着重使用requests
。
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("
",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("
",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("
",data))
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
信息
+关注
关注
0文章
405浏览量
35503 -
python
+关注
关注
55文章
4766浏览量
84370
发布评论请先 登录
相关推荐
Python库解析:通过库实现代理请求与数据抓取
在Python中,有多个库可以帮助你实现代理请求和数据抓取。这些库提供了丰富的功能和灵活的API,使得你可以轻松地发送HTTP请求、处理响应、解析HTML/XML/JSON数据,以及进
如何利用python和API查询IP地址?
在Python中,直接查询IP地址的地理位置或详细信息(如所属国家、城市等)通常需要依赖外部API服务,因为Python标准库本身不提供直接查询IP地址地理位置的功能。以下是一个使用
发表于 08-28 11:55
深度学习常用的Python库
深度学习作为人工智能的一个重要分支,通过模拟人类大脑中的神经网络来解决复杂问题。Python作为一种流行的编程语言,凭借其简洁的语法和丰富的库支持,成为了深度学习研究和应用的首选工具。本文将深入探讨
安装esp-idf配置install.sh出错了怎么解决?
recent call last):
File \"/usr/local/lib/python3.6/dist-packages/pip/_vendor/urllib3/response.py\", line 425, in _error_catcher
yield
发表于 06-24 07:37
ESP32下如何加自定义Python库?
我看官方有提供Micropython的bin文件,但我想根据自己外设扩充一下Python库,这个应该从哪里入手?
之前做过RTT系统的python库扩充,RTT有提供Micropyth
发表于 06-18 06:27
python 学习:在内网中 python库-numpy 安装方法,升级pip3版本的指令
\\\\numpy-1.26.4-cp311-cp311-win_amd64.whl
内网中升级pip 升级版本的指令:
python.exe -m pip install --upgrade pip--proxy \"http://gateway.schneider.z
发表于 04-22 17:18
phpy:PHP与Python互调用库
phpy 是识沃团队最新推出的开源项目,目标是为 PHP 引入 Python 生态,来弥补 PHP 生态的空缺和不足。phpy 使得 PHP 可以调用所有 Python 的包。 包括当下非常流行
1000+常用Python库一览
lxml,快速,易用、灵活的HTML和XML处理库,功能超强,在遇到有缺陷、不规范的xml时,Python自带的xml处理器可能无法解析。报错时,程序会尝试再用lxml的修复模式解析。
python第三方库有哪些
Python 作为一门功能强大的编程语言,拥有丰富的第三方库,几乎覆盖了各个领域的应用。下面是一些常见且广泛应用的 Python 第三方库的总结,希望能为您提供帮助。 NumPy(Nu
ROS Motion Planning运动规划库如何安装相关依赖
工作空间的src文件夹下,并解压 安装相关依赖 (1)关于Python 关于Python推荐使用Python3,对于Ubuntu20.04对应的ROS Noetic一般默认使用的都是Pytho
在Python中关于retrying库的使用
到使用try except来进行异常捕捉进行失败重试(Retry)。虽然try-escept一个非常常见和有效的方式来增强程序稳定性,但是可能一不小心就会造成栈溢出。 所以接下来我就来介绍一个另外的一个专门用于失败重试的库: retrying 。 定义 在Python生态
评论