Как устранить запрещенную ошибку 403 при очистке веб-сайта с помощью PHP Simple HTML DOM Parser?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как устранить запрещенную ошибку 403 при очистке веб-сайта с помощью PHP Simple HTML DOM Parser?

Сообщение Anonymous »

Я пытаюсь получить данные с веб-сайта с помощью PHP Simple HTML DOM Parser. Однако каждый раз, когда я пытаюсь получить HTML-содержимое страницы, я сталкиваюсь с ошибкой 403 Forbidden.
Для устранения неполадок я попытался установить собственные заголовки, включая User-Agent, с помощью Guzzle. PHP для имитации запроса браузера. Несмотря на это, проблема сохраняется, и я не могу получить содержимое веб-страницы.

Код: Выделить всё

// using simple dom parser
require '../simple_html_dom.php';

$html = file_get_html('https://www.mywebsite.com');
$title = $html->find('title', 0);
$image = $html->find('img', 0);

echo $title->plaintext."
\n";
echo $image->src;

Код: Выделить всё

// using guzzle
require '../../vendor/autoload.php';

use GuzzleHttp\Client;

$url = "https://www.mywebsite.com";
$client = new Client();

try {
$response = $client->request('GET', $url, [
'headers' => [
'User-Agent' => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',
'Accept-Language' => 'en-US,en;q=0.9',
'Accept-Encoding' => 'gzip, deflate, br',
'accept' => 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'Referer' => 'https://www.mywebsite.com',
]
]);

if ($response->getStatusCode() === 200) {
$html = $response->getBody()->getContents();
echo "Fetched HTML (first 500 characters):\n" . substr($html, 0, 500) . "\n\n";

// Continue with DOM parsing...
} else {
echo "Failed to fetch the URL. HTTP Status Code: " . $response->getStatusCode() . "\n";
}
} catch (Exception $e) {
echo "An error occurred: " . $e->getMessage() . "\n";
}
Я подозреваю, что на сервере могут быть дополнительные механизмы, такие как блокировка IP-адресов, защита от ботов или файлы cookie, которые вызывают ошибку 403.
  • Есть ли другие заголовки или конфигурации, которые мне следует включить, чтобы обойти
    ошибку 403 Forbidden?
  • Есть ли альтернативный подход или библиотека, которая могла бы работать лучше
    для парсинга веб-сайтов с помощью таких ограничения?
Будем благодарны за любые рекомендации по решению этой проблемы!

Подробнее здесь: https://stackoverflow.com/questions/793 ... -simple-ht
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»