0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python中urllib3库和requests库的使用

python爬虫知识分享 来源:python爬虫知识分享 作者:python爬虫知识分享 2022-03-21 16:08 次阅读

Python3 默认提供了urllib库,可以爬取网页信息,但其中确实有不方便的地方,如:处理网页验证和Cookies,以及Hander头信息处理。

为了更加方便处理,有了更为强大的库 urllib3requests, 本节会分别介绍一下,以后我们着重使用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

    文章

    406

    浏览量

    35537
  • python
    +关注

    关注

    56

    文章

    4795

    浏览量

    84663
收藏 人收藏

    评论

    相关推荐

    数据事件触发的设置和应用

    数据无论对于生产管理还是很多的实际应用都非常重要。小编这次聊一下数据事件触发的应用。示例使用了postgresql和Python
    的头像 发表于 12-13 15:14 120次阅读

    HAL和标准的区别 HAL与CMSIS的关系

    在嵌入式系统开发,HAL(硬件抽象层)和标准是两种常用的软件,它们在功能和使用场景上有所不同。 1. 标准 标准
    的头像 发表于 12-02 14:02 501次阅读

    KiCon演讲回顾(六):Würth Elektronik KiCad 设计与管理

    .wrl和.step两种格式。 需要的操作: 重命名 缩放 改变坐标系 导出.wrl和.step文件。 解决方法:使用 Python 脚本实现自动化 挑战2:封装 器件信息数据Python脚本自动化。
    的头像 发表于 11-26 01:08 136次阅读
    KiCon演讲回顾(六):Würth Elektronik KiCad <b class='flag-5'>库</b>设计与管理

    使用Python进行串口通信的案例

    当然!以下是一个使用Python进行串口通信的简单示例。这个示例展示了如何配置串口、发送数据以及接收数据。我们将使用 pyserial ,这是一个非常流行的用于串口通信的Python
    的头像 发表于 11-22 09:11 188次阅读

    NVIDIA发布cuPyNumeric加速计算

    该加速计算帮助科研人员无缝地扩展到强大的计算集群,并且无需修改 Python 代码,推进科学发现。
    的头像 发表于 11-21 10:05 254次阅读

    Python解析:通过实现代理请求与数据抓取

    Python,有多个可以帮助你实现代理请求和数据抓取。这些提供了丰富的功能和灵活的API,使得你可以轻松地发送HTTP请求、处理响应、解析HTML/XML/JSON数据,以及进
    的头像 发表于 10-24 07:54 171次阅读

    如何利用python和API查询IP地址?

    Python,直接查询IP地址的地理位置或详细信息(如所属国家、城市等)通常需要依赖外部API服务,因为Python标准本身不提供直接查询IP地址地理位置的功能。以下是一个使用
    发表于 08-28 11:55

    摆脱自建的繁琐,EDA元件转cadence原理图封装实战技巧

    摆脱自建的繁琐,EDA元件转cadence原理图封装实战技巧
    的头像 发表于 08-24 12:29 2699次阅读
    摆脱自建<b class='flag-5'>库</b>的繁琐,EDA元件<b class='flag-5'>库</b>转cadence原理图封装<b class='flag-5'>库</b>实战技巧

    PADS-3D文件

    PADS-3D文件
    发表于 08-15 17:20 26次下载

    深度学习常用的Python

    深度学习作为人工智能的一个重要分支,通过模拟人类大脑中的神经网络来解决复杂问题。Python作为一种流行的编程语言,凭借其简洁的语法和丰富的支持,成为了深度学习研究和应用的首选工具。本文将深入探讨
    的头像 发表于 07-03 16:04 645次阅读

    安装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

    ESP32如何安装MicroPython

    ?? 【问题2】有Python的noise,装还是不装?装了也是没用啊,环境是MicroPython 【请教】请问以上问题如何解决?
    发表于 06-05 07:55

    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

    博途用户自定义的使用-的编辑及管理

    前面两篇文章我们介绍了项目及全局。项目没有单独的存放路径,它随项目创建而创建,随项目保存而保存。全局有单独的存放路径,可被保存、归档及解压缩等。
    的头像 发表于 01-24 10:45 1086次阅读
    博途用户自定义<b class='flag-5'>库</b>的使用-<b class='flag-5'>库</b>的编辑及管理