в настоящее время сглаживает способ анализа данных страницы: http://www.foundationfinder.ch/
Мне нравится делать это в Perl: Ну, я просто размышляю, что это лучший способ выполнить эту работу. Угадайте, что я перед хорошей кривой обучения.;) Эта задача даст мне несколько приятных перлов. На данный момент он идет на мою голову...; -)
Итак, вот пример страницы:
... и поскольку я думал, что могу найти все 790 результирующих страниц в определенном диапазоне между Id = 0 и Id = 100000, я подумал, что я могу идти по пути с циклом:
http://www.foundationfinder.ch/ShowDetails.php?Id=11233&InterfaceLanguage=&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=927&InterfaceLanguage=1&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=949&InterfaceLanguage=1&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=20011&InterfaceLanguage=1&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=10579&InterfaceLanguage=1&Type=Html
Я думал, что могу пойти на Perl-Way, но я не очень уверен: я пытался использовать LWP:: UserAgent на тех же URL-адресах [см. ниже] с разными аргументами запроса, и мне интересно, LWP:: UserAgent предоставляет нам возможность прокручивать аргументы запроса? Я не уверен, что у LWP:: UserAgent есть метод для этого. Ну, я иногда слышал, что проще использовать Mechanize. Но действительно ли это проще?
КСТАТИ; Но если я иду по PHP, я мог бы сделать это с помощью Curl - couldnt i!?
Вот мой подход: я попытался понять это. И я углубился в Manpages и Howtos. Мы можем создать цикл, создающий URL-адреса, и использовать Curl - повторно
Как отмечалось выше: здесь мы имеем некоторые страницы результатов;
http://www.foundationfinder.ch/ShowDetails.php?Id=11233&InterfaceLanguage=&Type=Html http://www.foundationfinder.ch/ShowDetails.php?Id=927&InterfaceLanguage=1&Type=Html
В качестве альтернативы мы можем добавить обработчик request_prepare, который вычисляет и добавляет запрос перед отправкой запроса.
Опять же: цель: я хочу проанализировать данные, а затем я хочу сохранить их в локальной базе данных MySQL
Я должен определить extern_uid!?
и выполните следующие действия:
for my $i (0..10000) {
$ua->get('http://www.foundationfinder.ch/ShowDetails.php?Id=', id => 21, extern_uid => $i);
# process reply
}
Ну, но теперь я застрял - мне нужна помощь - могу ли я выполнить эту работу??
приветствует
нулевым
Не делай так. Используйте HTTP-заголовки (плагин Firefox) или eqv. чтобы увидеть, что javasript делает за кулисами, пока вы выбираете, что вам нужно от здесь, чтобы перейти на эту страницу (со своей таблицей).
Чтобы получить данные из таблицы, используйте HTML::TableExtract
или HTML::TreeBuilder::XPath
, если вы хотите использовать XPath
Если вы хотите выполнить итерацию по запросам, просто создайте еще один var:
my $a = 'http://www.foundationfinder.ch/ShowDetails.php?Id=' . $q . '&InterfaceLanguage=&Type=Html';
и приращив $q, убедитесь, что страница действительна, прежде чем пытаться загрузить ее с помощью get