Настройка скребка экрана Python, который может работать на движке Google App - PullRequest
3 голосов
/ 09 марта 2010

Я хочу настроить автоматический скребок для экрана, который будет работать на движке приложений Google с использованием python. Я хочу, чтобы он очистил сайт и поместил указанные результаты в Entity in app engine. Я ищу несколько направлений о том, что использовать. Я видел beautifulsoup, но удивляюсь, могут ли люди порекомендовать что-нибудь еще, что может работать на движке Google App.

Ответы [ 4 ]

4 голосов
/ 09 марта 2010

Beautifulsoup отлично работает на App Engine (просто убедитесь, что используете 3.0.8, а не iffy 3.1.0). Я думаю, что основной альтернативой будет html5lib - я не пробовал это на App Engine, но я считаю, что он работает там (довольно медленно - если это проблема, я думаю, вам нужно придерживаться BeautifulSoup), например эта служба работает на App Engine и основана на html5lib.

1 голос
/ 16 октября 2010

У меня были хорошие (хотя и медленные) результаты с использованием mechanize и BeautifulSoup. Фактически, чтобы сэкономить пространство кода в Google App Engine, я использую (старую) версию BeautifulSoup, включенную в Mechanize.

У меня есть механизация в zip-файле, mechanize.zip. Индекс этого zip-файла выглядит так:

mechanize/
mechanize/__init__.py
mechanize/_auth.py
mechanize/_beautifulsoup.py
mechanize/_clientcookie.py
... etc

Тогда в моем коде Python,

import sys
sys.path.insert(0, 'mechanize.zip')

import mechanize
from mechanize._beautifulsoup import BeautifulSoup
0 голосов
/ 18 апреля 2010

Я использовал BeautifulSoup с большим успехом при разборе HTML. Проблема в том, что все, что делает BeautifulSoup, - это анализ HTML. Я закончил писать все http-взаимодействия, используя urlfetch.

Для веб-очистки моей цели мне нужен полноценный браузер, управляемый кодом, который может выполнять JavaScript на страницах моего целевого сайта. Я думаю, что мне нужно выгрузить приложение python и перейти на Java, чтобы я мог использовать HTMLUnit - прототипирование уже началось. - матовый

0 голосов
/ 09 марта 2010

Другой выбор - lxml, но он использует код C и поэтому не работает на GAE.

...