ホームページ > バックエンド開発 > Python チュートリアル > Python での CURL PycURL の使用例

Python での CURL PycURL の使用例

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-16 08:44:02
オリジナル
2461 人が閲覧しました

Linux では一般的に使用されるコマンド、curl (非常に使いやすい) があります。curl をサポートする有名な libcurl ライブラリは、強力で非常に効率的な関数ライブラリです。 libcurl は独自の C API を提供するだけでなく、最大 40 のプログラミング言語のバインディングも備えています。ここで紹介する PycURL は libcurl の Python バインディングです。
Python で Web ページに GET/POST リクエストを行う場合、高いパフォーマンスを考慮する必要がある場合、libcurl は liburl や liburl2 よりもはるかに高速であり、リクエストよりも効率的である可能性があります。高い。特に PycURL の複数の同時リクエストを使用する場合、非常に効率的です。個人的に唯一の欠点は、libcurl C ライブラリを直接呼び出すため、PycURL の関数インターフェイスが C のものと非常に似ていることです。あまり Python 的ではない可能性があり、コードを書く学習曲線は liburl よりもわずかに高くなります。少し。
簡単な例を見てみましょう:

コードをコピーします コードは次のとおりです:

#! /bin/ env python
# -*-coding: utf-8 -*-

'''
2013 年 12 月 15 日に作成

@author: Jay
'' '

import sys
import pycurl
import time

class Test:
def __init__(self):
self.contents = ''

def body_callback(self, buf):
self.contents = self.contents + buf

sys.stderr.write("Testing %sn" % pycurl.version)

start_time = time.time()

url = 'http://www.dianping.com/shanghai'
t = Test()
c = pycurl.Curl()
c .setopt(c.URL, url)
c.setopt(c.WRITEFUNCTION, t.body_callback)
c.perform()
end_time = time.time()
duration = end_time - start_time
print c.getinfo(pycurl.HTTP_CODE), c.getinfo(pycurl.EFFECTIVE_URL)
c.close()

print 'pycurl は %s を取得するのに %s 秒かかります ' % (duration , url)

print 'コンテンツの長さは %d' % len(t.contents)
#print(t.contents)
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート