Парсинг сайта php

184
05 сентября 2021, 10:00

Захотел автоматизировать выкладывание контента на своем канале в телеграмме, сел писать бота на пхп. на глаз попался хороший сайтик парсить решил через регекспы и file_get_contents($url);

Посмотрев на структуру сайта понял, чтобы вычленить нужную мне игрушку нужно регекспом достать что то типа <div class="item">***</div> вот тут то и начались проблемы, как я подозреваю у сайта стоит какая то умная защита потому что даже если нажать f12 и CTRL+F и вставить искомую строку, оно ее не находит (0/0) (не говоря уже про пхп код)

Опытным путем понял, если в поиске есть знаки ="<>/ то выдает 0/0 результатов. Если чистый текст то результаты сразу находит.

Вопрос: что это за умная система блокировки и как ее можно обойти?

Answer 1

Для нормального парсинга юзай композеровские либы rmccue/requests для запросов и imangazaliev/didom для разбора HTML DOM. Это первое. Второе - многие сайты подгружают данные через AJAX после загрузки основной страницы, поэтому не забывай поглядывать на вкладку Network в Инструментах разработчика в браузере, зачастую проще эмулировать AJAX-запрос от сайта. Смотри какие параметры уходят, каким методом, что приходит и т.д.

READ ALSO
Скорость загрузки Google PageSpeed Insights

Скорость загрузки Google PageSpeed Insights

Я оптимизировал css код с помощью gulp, убрал не нужный код и минифицировал стилиНа проверке скорости оптимизации гугл выдаёт, что надо сократить...

290
background-size: cover и позиции элементов [закрыт]

background-size: cover и позиции элементов [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

93
Где взять stdafx.h в Visual Studio 2019?

Где взять stdafx.h в Visual Studio 2019?

Установил Visual Studio, скачать всё нужное начал работу и увидел что "stdafx" отсутствуетГде его можно найти в общем доступе для скачивания и куда...

231
Как хранятся глобальные const данные в библиотеках C++

Как хранятся глобальные const данные в библиотеках C++

Есть статическая библиотека (lib/

201