Зачистка динамического контента на сайте - PullRequest
2 голосов
/ 30 ноября 2011

Мне нужно почистить анонсы новостей с этого сайта, Ссылка .Объявления, кажется, генерируются динамически.Они не появляются в источнике.Я обычно использую механизировать, но я предполагаю, что это не сработает.Что я могу сделать для этого?Я в порядке с Python или Perl.

Ответы [ 4 ]

11 голосов
/ 30 ноября 2011

Если контент генерируется динамически, вы можете использовать Windmill или Seleninum для управления браузером и получения данных после их рендеринга.

Вы можете найти пример здесь .

4 голосов
/ 30 ноября 2011

Вежливым вариантом будет спросить у владельцев сайта, есть ли у них API, позволяющий вам получить доступ к их новостям.

Менее вежливым вариантом было бы отслеживать транзакции HTTP, которые происходят во время загрузки страницы, и определять, какой из них является вызовом AJAX, который извлекает данные.

Похоже, это этот . Но похоже, что он может содержать данные сеанса, поэтому я не знаю, как долго он будет продолжать работать.

0 голосов
/ 30 ноября 2011

Также есть WWW :: Scripter"Для скриптовых веб-сайтов, которые имеют скрипты".Никогда не использовал это.

0 голосов
/ 30 ноября 2011

В Python вы можете использовать urllib и urllib2 для подключения к веб-сайту и сбора данных. Например:

from urllib2 import urlopen
myUrl = "http://www.marketvectorsindices.com/#!News/List"
inStream = urlopen(myUrl)
instream.read(1024) # etc, in a while loop
# all your fun page parsing code (perhaps: import from xml.dom.minidom import parse)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...