なぜGoogleのアプリケーションエンジンからの輸入UrlFetchの?
-
19-09-2019 - |
質問
ここではGoogle Appエンジンでは、私はこのコードを持ってしていますそのURLによって任意のWebページのHTMLコードをフェッチ役立つだろう。
from google.appengine.api import urlfetch
url = "http://www.google.com/"
result = urlfetch.fetch(url)
if result.status_code == 200:
doSomethingWithResult(result.content)
google.appengine.apiからurlfecthをインポートするために、このコードで提案されている理由私はここで(他の多くのものの中で、実際には)一つのことを理解していませんか? Pythonは、このコマンドonitsが所有していませんか?
解決
google.appengine.apiはUrlFetchのクラスのGoogleのバージョンを含むライブラリです。マニュアルのからを引用:
URLをフェッチサービスを、Googleの使用しています 効率化のためのネットワーク・インフラストラクチャ そして、目的をスケーリングます。
Pythonはあまりにもその標準ライブラリ内のURL検索クラスを持っていますが、それらは、App Engineの内部で利用可能であるインフラストラクチャを使用することはできませんwhouldます。
短いgoogle.appengine.apiのUrlFetchのではより強力ですが、ニシキヘビをあまりにも、私は上記のリンク先のマニュアルページで説明されていること、のいずれかurllibはを所有しています。
使用してからあなたから遮断するものはありません他のヒント
Pythonは、そのようなURLを取得するためのurllibはとhttplibなどのライブラリを持っていますが、App Engineの上で、すべての要求は、カスタムのURLfetchライブラリを経由しなければなりません。 App Engineはurllibは、それらが内部UrlFetchの使用するようになりhttplibのスタブが含まれていますが、あなたは選択肢を持っている場合は、直接UrlFetchの使用は、より効率的で柔軟性があります。
所属していません StackOverflow