python3使用curl获取数据并用json分析

pycurl是一个C语言写的libcurl的python绑定库,可以用来从python程序中获取URL所标识的对象。
在python 3下,当pycurl使用 bytes 参数,响应必须写入 BytesIO 对象1

import pycurl
import json
from io import BytesIO

url = "http://www.baidu.com"
crl = pycurl.Curl() #创建一个pycurl对象的方法
crl.fp = BytesIO() #设置IO,py3要求使用对bytes操作的BytesIO
crl.setopt(crl.URL, url) #设置请求的Url
crl.setopt(crl.WRITEFUNCTION, crl.fp.write) #将返回的内容定向到回调函数crl.fp.write,作用是将内容写入crl.fp
crl.perform()
fileJson = json.loads(crl.fp.getvalue()) #加载json格式内容
print(fileJson) #打印json内容(或作其他处理)

  1. curl.perform() pycurl.error: (23, ‘Failed writing body (0 != 59)’) ↩︎

你可能感兴趣的:(py)