Python之pycurl

pycurl简介

pycurl是一个用于访问URL的Python模块。它可以使用libcurl来访问各种互联网资源。libcurl支持HTTP、HTTPS、FTP、GOPHER、DICT、TFTP、TELNET和FILE等许多协议。pycurl是将libcurl封装成Python模块的结果,因此,它既可以在Python脚本中直接使用,也可以在动态状态下使用。

pycurl的安装

不翻墙的情况下使用命令pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple pycurl安装pycurl模块。

然后写简单demo测试一下是否安装成功。
如果报错如下

ImportError: dlopen(/xxx/site-packages/pycurl.cpython-39-darwin.so, 2): Library not loaded: @rpath/libssl.1.1.dylib
  Referenced from: /xxx/site-packages/pycurl.cpython-39-darwin.so
  Reason: image not found

则是可能是安装路径不对,输入下面的名称重新安装

which python3
${path} -m pip install --force-reinstall pycurl

在这里插入图片描述
重新安装后可以正常使用pycurl模块了。

pycurl示例

import pycurl
from io import BytesIO


class PyCurl(object):
    def __init__(self):
        print("initializing")

    @staticmethod
    def printContents(url):
        # pycurl模块中的Curl类实例化
        c = pycurl.Curl()
        # 两个参数option和value,配置选项可以是url、字符串、header头等信息
        c.setopt(c.URL, url)
        # User-Agent用户代理,使得服务器能够识别用户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等信息。
        headers = ['User-Agent: Mozilla/5.0', 'Accept-Language: en']
        c.setopt(c.HTTPHEADER, headers)
        # 发送请求
        c.perform()
        # 资源回收
        c.close()
        # 内存中的缓冲区
        buffer = BytesIO()
        body = buffer.getvalue()
        # 打印缓冲区中的数据(UTF-8解码后的数据)
        print(body.decode('UTF-8'))


if __name__ == "__main__":
    curl = PyCurl()
    curl.printContents("https://example.com")

在这里插入图片描述

参考链接:
1、python官网
2、菜鸟教程_func_curl_setopt
3、极客教程_BytesIO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值