Если мне нужно выбрать только одну HTML-библиотеку для Python, который я должен выбрать - PullRequest
1 голос
/ 06 июня 2011

Мне нужно сделать много разбора html / scarping / search engine /crawling.

В настоящее время существует множество библиотек, таких как запросы Scrapy, Beautiful Soup, lxml, lxml2, pyquery.

Теперь я не хочу пробовать каждый из них, а потом решать. в основном я хочу следовать одному, а затем подробно изучить и затем использовать это чаще всего.

Так какую библиотеку я должен использовать, которая может выполнять все функции, упомянутые выше. Даже при том, что могут быть различные решения для различных проблем. Но я хочу одну библиотеку, которая могла бы делать все, даже если для написания кода требуется время, но это должно быть возможно

Возможно ли индексирование в lxml? PyQuery такой же, как lxml или другой?

Ответы [ 2 ]

1 голос
/ 06 июня 2011

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

1 голос
/ 06 июня 2011

Я пользуюсь Beautiful Soup и очень им доволен. До сих пор это отвечало всем моим потребностям очистки. Два основных преимущества:

  • Очень хорошо справляется с неидеальным HTML. Поскольку браузеры довольно слабые, многие документы HTML не на 100% правильно сформированы
  • В дополнение к высокоуровневым API доступа у него есть низкоуровневые API, которые делают его расширяемым, если какая-то конкретная потребность в очистке не указана напрямую
...