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

    文章

    409

    浏览量

    36453
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90414
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在 Vision Five 2 上安装 python

    这可能是一个完全愚蠢的问题,但我如何在 Vision Five 2 上安装 python 。 使用该命令后,它给了我这个错误。 默认为用户安装,因为普通站点包不可写 错误:找不到满足要求
    发表于 03-06 07:51

    无法去除 Python VisionFive.i2c 的终端输出?

    烧的官方最新八月份的 debian 12 的系统。 根据这个案例安装好了 python 环境和 VisionFive 。 执行下面这条代码: import VisionFive.i2c
    发表于 02-25 06:13

    与标准C的区别

    主要的差异: 1.代码(数据)量更小(对比上图)。 2.缺少一些不常用标准库函数,比如:文件 I/O 的库函数。 3.微最大程度优化代码量,可能会导致有些代码运行速度更慢。 4.可用于RTOS这类
    发表于 12-09 07:49

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章,我们将详细介绍Python调用API的方法和技巧。 一、用Requests发送HTTP请求 使用Pyth
    的头像 发表于 11-03 09:15 1281次阅读

    目前最新版的userapps如何安装D1s环境?

    Traceback (most recent call last): File \"/usr/lib/python3/dist-packages/urllib3/connection.py\"
    发表于 09-25 07:33

    HTTP开发必备:核心与httpplus扩展应用示例全攻略

    HTTP开发的必备参考!本文汇总核心基础操作与httpplus扩展高级特性,通过示例解析,让你快速上手各类HTTP开发需求。
    的头像 发表于 09-20 15:19 3368次阅读
    HTTP开发必备:核心<b class='flag-5'>库</b>与httpplus扩展<b class='flag-5'>库</b>应用示例全攻略

    在KiCad华秋发行版中使用云端器件

    “   KiCad 自带的质量非常高,建团队也很强大,无奈 KiCad 没有元器件的定义,虽然有 Database Library 和 Httplib 这样强力的工具,但没有类似 EasyEDA
    的头像 发表于 08-07 11:15 7936次阅读
    在KiCad华秋发行版中使用云端器件<b class='flag-5'>库</b>

    数据数据恢复—服务器异常断电导致Oracle数据故障的数据恢复案例

    备份,仅有一些断断续续的归档日志。 Oracle数据恢复流程: 1、检测数据故障情况; 2、尝试挂起并修复数据3、解析数据
    的头像 发表于 07-24 11:12 932次阅读
    数据<b class='flag-5'>库</b>数据恢复—服务器异常断电导致Oracle数据<b class='flag-5'>库</b>故障的数据恢复案例

    linux虚拟环境调用Linux 版matlab编译的python时出错

    matlab代码编译为CAO_pythonpython,其中cp_Main_python.m为入口文件,编译后生成的文件有mccExcludedFiles.log、setup.py
    发表于 07-18 10:40

    数据数据恢复—MongoDB数据文件丢失的数据恢复案例

    MongoDB数据数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据。 MongoDB数据故障: 工作人员在MongoDB服务仍然开启的情况下
    的头像 发表于 07-01 11:13 871次阅读
    数据<b class='flag-5'>库</b>数据恢复—MongoDB数据<b class='flag-5'>库</b>文件丢失的数据恢复案例

    数据数据恢复—SQL Server数据被加密如何恢复数据?

    SQL Server数据故障: SQL Server数据被加密,无法使用。 数据MDF、LDF、log日志文件名字被篡改。
    的头像 发表于 06-25 13:54 929次阅读
    数据<b class='flag-5'>库</b>数据恢复—SQL Server数据<b class='flag-5'>库</b>被加密如何恢复数据?

    AD封装安装教程

    电子发烧友网站提供《AD封装安装教程.pdf》资料免费下载
    发表于 06-19 15:35 6次下载

    自己写:构建库函数雏形

    实际上,构建固件是一件费时费力的事情,并且它对开发者对芯片的熟悉程度有一定的要求。甚至,当一个固件的封装程度很高时,想要阅读并理解该固件的底层代码也会变成一件有较高难度的事情。瑞萨RA系列
    的头像 发表于 06-19 11:19 1439次阅读
    自己写<b class='flag-5'>库</b>:构建库函数雏形

    基于STM32 HAL与标准的esp8266接入机智云方案(二)

    在《基于STM32HAL与标准的esp8266接入机智云方案(一)》,我们详细介绍了硬件连接和机智云客户端的创建。本篇将重点讲解如何下载代码、分析下载的代码,并直接使用这些代码连接机智云。同时
    的头像 发表于 05-28 18:02 1770次阅读
    基于STM32 HAL<b class='flag-5'>库</b>与标准<b class='flag-5'>库</b>的esp8266接入机智云方案(二)

    3D AD文件

    3D文件
    发表于 05-28 13:57 6次下载