Веб-выскабливание [закрытым] Python

9
задан Paul D. Waite 28 March 2010 в 11:01
поделиться

8 ответов

Используйте BeautifulSoup как построитель дерева для html5lib :

from html5lib import HTMLParser, treebuilders

parser = HTMLParser(tree=treebuilders.getTreeBuilder("beautifulsoup"))

text = "a<b>b<b>c"
soup = parser.parse(text)
print soup.prettify()

Вывод:

<html>
 <head>
 </head>
 <body>
  a
  <b>
   b
   <b>
    c
   </b>
  </b>
 </body>
</html>
10
ответ дан 4 December 2019 в 08:51
поделиться

pyWebKitGTK, похоже, может быть полезен.

Также вот чувак, которому нужно было сделать то же самое, но получить экспорт содержимого после запуска javascript, execute javascript from python using pyWebKitGTK.

pyWebKitGTK в cheeshop.

Вы также можете сделать это с помощью pyQt.

4
ответ дан 4 December 2019 в 08:51
поделиться

Ну, WebKit - это open source, так что вы можете использовать его собственный парсер (в компоненте WebCore), если любой язык приемлем

1
ответ дан 4 December 2019 в 08:51
поделиться

Ян Бикинг однажды написал, что на удивление lxml может лучше разбирать супы, чем BeautifulSoup: http://blog.ianbicking.org/2008/12 / 10 / lxml-an-underappreciated-web-scraping-library / (Просто упомяну для справки, лично не пробовал)

1
ответ дан 4 December 2019 в 08:51
поделиться

Вы можете управлять выбранным вами браузером с помощью SeleniumRC.

2
ответ дан 4 December 2019 в 08:51
поделиться

Вы можете взглянуть на модуль Mechanize:

http://wwwsearch.sourceforge.net/mechanize/

2
ответ дан 4 December 2019 в 08:51
поделиться

пробовали ли вы scrapy ?

Scrapy - это высокоуровневый фреймворк для скрапинга и веб-сканирования, используемый для сканирования веб-сайтов и извлечения структурированных данных с их страниц. Его можно использовать для множества целей, от сбора данных до мониторинга и автоматического тестирования.

3
ответ дан 4 December 2019 в 08:51
поделиться

Судя по документации, парсер ICantBelieveItsBeautifulSoup - это то, что вам нужно:

ICantBelieveItsBeautifulSoup также является подклассом из BeautifulSoup. Он имеет эвристику HTML , которая больше соответствует стандарту HTML, но игнорирует то, как HTML используется в реальном мире. Для экземпляра допустимый HTML-код для вложения тегов , но в реальном мире вложенный тег почти всегда означает, что автор забыл закрыть первый тег . Если вы столкнетесь с кем-то, кто на самом деле вкладывает теги , вы можете использовать ICantBelieveItsBeautifulSoup.

0
ответ дан 4 December 2019 в 08:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: