Я хочу очистить сайт с помощью GAE и опубликовать результаты в Google Entity - PullRequest
1 голос
/ 09 марта 2010

Я хочу очистить этот URL: https://www.xstreetsl.com/modules.php?searchSubmitImage_x=0&searchSubmitImage_y=0&SearchLocale=0&name=Marketplace&SearchKeyword=business&searchSubmitImage.x=0&searchSubmitImage.y=0&SearchLocale=0&SearchPriceMin=&SearchPriceMax=&SearchRatingMin=&SearchRatingMax=&sort=&dir=asc

Перейдите по каждой из ссылок и извлеките различную информацию, например, разрешения, примы и т. д., а затем опубликуйте результаты в Entity на Google App Engine.

Я хочу знать, как это сделать?

Chris

Ответы [ 2 ]

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

Для нормализации HTML с использованием чистой библиотеки Python у меня был лучший опыт с html5lib , чем BeautifulSoup.

Однако вы просто хотите извлечь просто структурированную информацию, которая на самом деле не требует нормализации HTML. У меня в Google App Engine есть несколько приложений, которые используют мою собственную библиотеку xpath , которая работает с необработанным HTML. Или вы можете использовать регулярные выражения для одноразовых заданий.

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

Есть несколько хороших библиотек для очистки экрана, которые вы можете использовать в Python.

Пожалуй, проще всего разобраться с продвинутым скребком с помощью scrapy .Он использует Twisted для реализации основного механизма, но предоставляет очень простой в использовании интерфейс для реализации пользовательского кода очистки.

В противном случае вы можете посмотреть на более ручную работу с чем-то вроде BeautifulSoup , или Mechanize , который обеспечивает «механическую» реализацию браузера.

BeautifulSoup и Mechanize должны работать как из коробки в App Engine, так и в виде обертки вокруг httplib и urllibкоторый использует urlfetch в качестве бэкэнда.Только скрап будет проблематичным, из-за его использования витая.[спасибо Нику Джонсону за обновление].

...