Я знаю, что вопрос о скреперах веб-страниц PHP задавался время от времени, и, используя это, я обнаружил SimpleHTMLDOM. После простой работы на моем локальном сервере я загрузил все на свой онлайн-сервер, чтобы узнать, что что-то не работает правильно. Быстрый взгляд на FAQ приводит меня к этому . В настоящее время я использую бесплатный хостинг, поэтому отредактируйте любые настройки php.ini. Поэтому, используя предложение часто задаваемых вопросов, я попытался использовать cURL, только чтобы узнать, что это тоже отключено моей службой хостинга. Существуют ли другие простые решения для очистки содержимого другой веб-страницы без использования или cURL или SimpleHTMLDOM?
Если cURL
и allow_url_fopen
не включены, вы можете попробовать получить контент через
fsockopen
– подключение к Интернету через Интернет или Unix Другими словами, вы должны выполнять HTTP-запросы вручную. См. Пример в руководстве по выполнению запроса GET. Затем возвращаемое содержимое может быть дополнительно обработано. Если сокеты включены, вы также можете использовать любую стороннюю библиотеку, утилизируя их, например Zend_Http_Client
.
В боковом столбце ознакомьтесь с « Лучшими методами анализа HTML» для альтернатив SimpleHTMLDom.
cURL – это специальный API. Это не та библиотека http, которую она часто делает, но общая библиотека передачи данных для FTP, SFTP, SCP, HTTP PUT, SMTP, TELNET и т. Д. Если вы хотите использовать только HTTP, для этого есть соответствующая библиотека PEAR . Или проверьте, включена ли у вашей версии PHP официальное расширение http . Для скремблирования используйте phpQuery или pathpath . Оба имеют встроенную поддержку HTTP.
Вот простой способ захватить изображения, когда allow_url_fopen
установлен в false
, не изучая эзотерические инструменты.
Создайте веб-страницу в своей среде разработки, которая загружает все изображения, которые вы очищаете. Затем вы можете использовать свой браузер для сохранения изображений. File -> "Save Page As"
.
Это удобно, если вам нужно одноразовое решение для загрузки кучи изображений с удаленного сервера с параметром allow_url_fopen
0
.
Это работало для меня после того, как file_get_contents
и curl
не удалось.
file_get_contents () – это самый простой способ захвата страницы без установки дополнительных библиотек.