Получение только текстового контента с неанглийского сайта - PullRequest
2 голосов
/ 30 октября 2011

Я пытаюсь получить текстовое содержание неанглоязычного веб-сайта. Например, я хочу получить содержимое хинди http://www.bbc.co.uk/hindi/

Для текстового дампа английского сайта я использую wget для извлечения содержимого. Затем используйте анализатор HTML для удаления тегов HTML и дайте мне чистый текст.

Каковы эквивалентные инструменты для работы на неанглийском веб-сайте?

Это просто какой-то любимый проект, который я изучаю. Скорость не сильно беспокоит. Я хотел бы написать код в среде Linux и предпочтительно использовать Python или Java или C / C ++ (в таком порядке).

1 Ответ

2 голосов
/ 30 октября 2011

Похоже, что метод, который вы используете для разбора HTML, падает при встрече с юникодом.Есть модуль BeautifulSoup, который отлично подходит для разбора любых веб-сайтов, и он прекрасно справляется с юникодом.Попробуйте в интерактивном режиме:

>>> import urllib, BeautifulSoup
>>> html = urllib.urlopen( 'http://www.bbc.co.uk/hindi/' ).read()
>>> soup = BeautifulSoup.BeautifulSoup( html )
>>> print soup.find( 'title' ).contents
[u'BBC Hindi - \u092a\u0939\u0932\u093e \u092a\u0928\u094d\u0928\u093e']

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

...