LINUX.ORG.RU

parser html


0

1

Доброго времени суток!

Хочу распарсить сайт http://msdn.microsoft.com
Нужно быврать названия функции, переменные, атрибуты,...
Наприме, в SDK в mshtml.h нет полной информации.
Для этого на python-е нашел beautifulsoup и soupselect.
Может есть какой то способы сделать это проще? Может есть какие то готовые программы для этого?

Заранее огромное спасибо.

Ответ на: комментарий от Tanger

Но я, когда парсил некий быдлосайт (не будем показывать пальцем на samlib.ru), долго его парсил, вроде заработало.. и..
Падало, если автор хотел себе «красивую» страничку и пихал <center> в «сведенья об авторе», который так и не закрывался до конца страницы. в результате за 2 дня написал регэксп и доволен.

xhtml - true.

Tanger ★★★★★ ()
Ответ на: комментарий от Tanger

в результате за 2 дня написал регэксп и доволен

Месье уверен, что следует пытаться распознавать конечный автоматом контекстно-свободную грамматику?

ugoday ★★★★★ ()

/me использует lxml и scrapy

ei-grad ★★★★★ ()
Ответ на: комментарий от Tanger

Их как грязи. Откуда ж я знаю какой из них будет лучше в твоих условиях.

ugoday ★★★★★ ()

ugoday дело говорит, используй специализированные инструменты типа lxml. регекспы это круто и хорошо, но не для парсинга нерегулярных грамматик.

alienclaster ★★★ ()
Ответ на: комментарий от anonymous

Из xml да, а html - быдло. Я пробовал использовать tidy, пробовал писать сам. Вот xhtml - другое дело, но он не особо много где есть..

Tanger ★★★★★ ()

Для вас всех придумали html5lib, а вы его даже в треде не упомянули.

А он, между прочим, умеет разные интерфейсы, например ElelmentTree (через питоновский вариант и через lxml) и даже minidom.

Может есть какой то способы сделать это проще?

Вот проще elementtree и minidom нет ничего.

anonymous ()
Ответ на: комментарий от anonymous

Странно, что HTMLUnit никто не упомянул

anonymous ()
Ответ на: комментарий от Tanger

> Из xml да, а html - быдло

Вот xhtml - другое дело, но он не особо много где есть..


Что-то я могу сходу понять в чем проблема. Не смогли осилить ни один из существующих невалидирующих html-парсеров?

archimag ★★★ ()
Ответ на: комментарий от archimag

Можно примеры?
И как в них все выглядит?
Мне удобна древовидная структура, но с невалидирующими я не очень представляю, адекватно ее составить.

Tanger ★★★★★ ()
Ответ на: комментарий от Tanger

> но с невалидирующими я не очень представляю, адекватно ее составить.

Они сами составляют всё тот же DOM, от тебя ничего особо и не требуется. http://xmlsoft.org/html/libxml-HTMLparser.html - парсер из состава libxml2, та же lxml, кстати, на базе libxml2, так что в ней соответствующие возможности есть.

Мне удобна древовидная структура


В большинстве случаев для работы с DOM гораздо удобнее и проще использовать XPath, чем непосредственно обрабатывать дерево.

Можно примеры?


Ну, только на CL :), например - http://archimag.lisper.ru/permalink/posts/5d5b8153d7cda087893f3aef8210d73afac....

archimag ★★★ ()

Тебе как справку это использовать? Если да, то чем не угодил исошинк мсдн-а из торрентов?

cathode ()
Ответ на: комментарий от ugoday

Не все регэкспы конечные автоматы ;) В интернет можно найти примеры для вложенных скобок. Правда выглядят они не айс.

OxiD ★★★★ ()
Ответ на: комментарий от OxiD

Тьфу. Я хотел сказать не все регекспы детерминированные КА, ну надеюсь вы поняли.

OxiD ★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.