Обычно такие страницы загружают кучу Javascript (jQuery и т. Д.), Который затем создает интерфейс и извлекает данные для отображения из источника данных .
Итак, вам нужно открыть эту страницу в Firefox или аналогичную с помощью инструмента, такого как Firebug, чтобы посмотреть, какие запросы действительно выполняются. Если вам повезет, вы найдете его непосредственно в списке запросов XHR. Как и в этом случае:
http://www.govliquidation.com/json/buyer_ux/salescalendar.js
Обратите внимание, что данный курс действий может нарушать некоторые лицензии или условия использования. Перед тем, как продолжить, очистите это с помощью веб-мастера/источника данных/владельца авторских прав: . Обнаружение и запрещение такого рода скребков очень просто, и при определении вы, вероятно, только немного меньше.
Во всяком случае, если вы выдаете тот же вызов в PHP, вы можете непосредственно скрести данные (при условии, что нет никакой проблемы сессии/аутентификации, как это кажется в данном случае) с очень простым кодом:
<?php
$url = "http://www.govliquidation.com/json/buyer_ux/salescalendar.js";
$json = file_get_contents($url);
$data = json_decode($json);
?>
Этого дает объект данных, который вы можете проверять и преобразовывать в CSV путем простой циклизации.
stdClass Object
(
[result] => stdClass Object
(
[events] => Array
(
[0] => stdClass Object
(
[yahoo_dur] => 11300
[closing_today] => 0
[language_code] => en
[mixed_id] => 9297
[event_id] => 9297
[close_meridian] => PM
[commercial_sale_flag] => 0
[close_time] => 01/06/2014
[award_time_unixtime] => 1389070800
[category] => Tires, Parts & Components
[open_time_unixtime] => 1388638800
[yahoo_date] => 20140102T000000Z
[open_time] => 01/02/2014
[event_close_time] => 2014-01-06 17:00:00
[display_event_id] => 9297
[type_code] => X3
[title] => Truck Drive Axles @ Killeen, TX
[special_flag] => 1
[demil_flag] => 0
[google_close] => 20140106
[event_open_time] => 2014-01-02 00:00:00
[google_open] => 20140102
[third_party_url] =>
[bid_package_flag] => 0
[is_open] => 1
[fda_count] => 0
[close_time_unixtime] => 1389045600
Вы получите $data->result->events
, используйте fputcsv()
на его элементах преобразуется в виде массива, и Боб твоего дяди.
Что вы используете для передряги?Добавьте свой существующий код в свой вопрос, отформатированный с помощью кнопки «Код». – halfer
Php include ("simple_html_dom.php"); $ html = file_get_html ('http://www.areacodelocations.info/allcities.php?ac=201'); // Найти все изображения // Найти все ссылки Еогеасп ($ html-> найти ('а'), как $ элемента) эхо $ element-> HREF. '
'; ?> – user3161025
Uhm ... это ** другой сайт ** из того, который вы цитировали ранее. Мое решение больше не применяется, а ваше теперь не работает, потому что на новой странице вам нужно найти элементы TR, а не элементы A. На этой странице есть только один элемент A, и это то, что вы восстанавливаете. Вы проверяли источник HTML? – LSerni