Вопрос по php, web-crawler, cloudflare, curl – PHP сканирует сайт, который использует cloudflare

2

Я хочу сканировать некоторые конкретные значения (например, newstext) с веб-сайта (который не принадлежит мне).

file_get_contents() не работает, возможно заблокирован php.ini.

Поэтому я попытался сделать это с помощью curl, проблема в том, что:
Все, что я получаю, это текст перенаправления из cloudflare.
Мой сканер должен сделать что-то вроде:
перейдите на страницу -> подождите 5secs cloudflare redirect -> сверните страницу.

Любые идеи, как сканировать страницу после времени ожидания cloudfare? (в PHP)

редактировать: так что я много чего пробовал, проблема все та же ..
более конкретно: он сканирует только страницу перенаправления cloudflare. (таким образом, я получаю страницу, которая перенаправляет на хост, cloudflare находится впереди. когда я свернулся на localhost, он принимает localhost, так что перенаправление не работает.) Нет ли способа начать сохранение повторно сохраняемых данных после 5secs "curling" ?

@Dagon очень полезно! (И, кстати, я почти уверен, что они хотят защитить только от ddos, и нет ничего плохого в том, чтобы извлекать данные один раз в день. Кроме того, если я хочу украсть данные, зачем мне использовать curl.) servrox
Какой сайт вы пытаетесь сканировать? PHPhil
Одна из услуг CloudFlare - обнаружение и блокировка ботов. Не ожидайте, что керлинг против CF-сайта будет работать надежно. ceejayoz
Если бы они хотели предоставить вам доступ к своим данным, они бы создали API user557846

Ваш Ответ

3   ответа
0

Вы должны использоватьphantomjs

echo shell_exec('phantomjs example.js')

example.js

var page = require('webpage').create();
var url = 'http://www.google/';
page.open(url, function (status) {
  console.log(page.content)
  phantom.exit();
});
1

перейти на страницу -> подождать 5secs cloudflare redirect -> свернуть страницу.

5-секундная промежуточная страница фактически требует, чтобы JavaScript и куки были включены до того, как посетитель сможет пройти проверку, что, вероятно, не сработает, если вы используете сканер или бот для доступа к сайту.

0

как нормальный браузер ведет себя на этом сайте. Что такое перенаправления и файлы cookie.

Затем вам нужно настроить скрипт curl, который собирает все файлы cookie в «cookie jar» и автоматически следит за перенаправлением.

Тогда вы должны сделать несколько тестов.

Надеюсь это поможет.

Замечания:

Cloudflare обладает хорошей инфраструктурой, чтобы блокировать таких, как вы. Они могут сделать контрольный вызов или что-то подобное.

Также хороший системный администратор рано или поздно обнаружит, что вы делаете, и заблокирует ваш IP или ваш пользовательский агент.

Похожие вопросы