Вопрос

Здесь, в движках приложений Google Я получил этот код, который поможет получить HTML-код любой веб-страницы по ее URL:

from google.appengine.api import urlfetch
url = "http://www.google.com/"
result = urlfetch.fetch(url)
if result.status_code == 200:
doSomethingWithResult(result.content)

Я не понимаю здесь одной вещи (на самом деле, среди многих других вещей), почему в этом коде предлагается импортировать urlfecth из google.appengine.api ?У Python нет этой команды самостоятельно?

Это было полезно?

Решение

google.appengine.api - это библиотека, которая содержит версию класса urlfetch от Google.Цитирование из руководства:

Служба выборки URL использует сетевую инфраструктуру Google для повышения эффективности и в целях масштабирования.

Python также имеет классы поиска URL-адресов в своей стандартной библиотеке, но они не смогут использовать инфраструктуру, доступную внутри App Engine.

Короче говоря, google.appengine.api urlfetch более мощный, но ничто не мешает вам использовать собственный urllib Pythons, это тоже описано на странице руководства, на которую я ссылался выше.

Другие советы

В Python есть такие библиотеки, как urllib и httplib для извлечения URL-адресов, но в App Engine все запросы должны проходить через пользовательскую библиотеку urlfetch.App Engine включает заглушки для urllib и httplib, которые заставляют их использовать urlfetch внутренне, но если у вас есть выбор, использование urlfetch напрямую более эффективно и гибко.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top