2012-04-01 3 views
0

Я пытаюсь очистить сайт от заголовков статей, однако эта страница загружает только пять первых названий и загружает больше, когда пользователь прокручивает страницу (JSON вызывает больше статей и вводит их на страницу).PHP соскабливает динамически загружаемый контент

Скребок, который я построил, отлично работает, но только находит первые 5 статей по умолчанию, и то, что я пытаюсь достичь, состоит в загрузке более 5. Есть ли способ достичь этого с помощью PHP, и если вы можете объяснить мне почему/как это работает, я был бы очень признателен, потому что я люблю учиться этим.

+0

Вам нужно будет разместить свой код, без него, как вы думаете, кто-нибудь сможет дать вам ответ? –

+0

вместо того, чтобы сломать страницу, которую вы могли бы попробовать, и получить прямой доступ к источнику, вводя любые POST/GET требуемые параметры с помощью curl. –

+0

Предложение Lawrences является самым правдоподобным, но не зная, что этот сайт затрудняет ответ. Вы также проверили, есть ли у сайта RSS-канал или карта сайта? – Peter

ответ

3

вы можете использовать сетевой монитор chrome для регистрации источника запросов ajax, а затем запросить у своего веб-сканера, но это действительно «make shift api», и он будет торможеть, если сайт изменит формат json, вы можете используйте функцию json_decode php для декодирования json.

для того, чтобы первый извлечения данных, вы должны будете использовать file_get_contents

, но это только позволит ПОЛУЧИТЬ Если вы хотите более «продвинутые» варианты (например, POST) вам нужно будет изучить Curl

+0

Итак, вы предлагаете имитировать вызовы, сделанные на веб-сайте статьи, чтобы вернуть следующие результаты? – Shadow

+0

Это действительно то, что я предлагаю, но это сложный бизнес, потому что на самом деле нет контракта с данными. Возможно, было бы лучше искать полезную RSS-ленту или api, но я думаю, что это не идея вашего webscraper. –

+0

Да, я вижу, как это будет работать лучше, но на данный момент нет фидов/apis, которые могут быть использованы для этой цели. Таким образом, использование json-decode позволит мне взаимодействовать со звонками с прокруткой, которые происходят на веб-странице, или эта часть должна быть выполнена, а затем php будет декодировать результаты? – Shadow

Смежные вопросы