Я работаю над scrapper (на PHP) и использую cURL для извлечения страниц. Сценарий можно запускать как в браузере CLI &. Это мой первый опыт работы с PHP на CLI, и я старался сделать экран симпатичным и иметь хорошее представление данных, такое как статистика scrape.Silence PHP cURL output в CLI
Я могу сгенерировать выход так, как хочу, ну почти. Но с каждым Curl запроса сервер делает, он также выводит эту дополнительную информацию заголовка, как это:
* About to connect() to imbd.com port 80 (#0)
* Trying 123.111.222.333... * connected
> GET /categories/something.html HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:21.0) Gecko/20130401 Firefox/21.0
Host: imdb.com
Accept: */*
< HTTP/1.1 200 OK
< Server: nginx/1.4.1
< Date: Wed, 25 Dec 2013 02:17:06 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< X-Powered-By: PHP/5.3.17
< Set-Cookie: mobileType=0%something; expires=Wed, 01-Jan-2014 02:17:06 GMT; path=/; domain=.imdb.com
<
* Connection #0 to host imdb.com left intact
* Closing connection #0
...
Statistics
...
Функция, которая использует Curl
public function getHTML($url)
{
$user_agent = "Mozilla/5.0 (Windows NT 5.1; U; zh-cn; rv:1.9.1.6) ...";
$options = Array(
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_FOLLOWLOCATION => TRUE,
CURLOPT_AUTOREFERER => TRUE,
CURLOPT_CONNECTTIMEOUT => 120,
CURLOPT_TIMEOUT => 120,
CURLOPT_MAXREDIRS => 10,
CURLOPT_USERAGENT => $user_agent,
CURLOPT_URL => $url,
CURLOPT_VERBOSE => true,
CURLOPT_SSL_VERIFYPEER => false,
);
$ch = curl_init();
curl_setopt_array($ch, $options);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
Теперь все, что я хочу сделать, это скрыть эту информацию от CLI, как в браузере. Если бы это было cli curl, я бы использовал -s
, чтобы закрыть его. Но я не могу найти альтернативу PHP для этого. Кроме того, обесценивается CURLOPT_MUTE
. Все, что мне дал Google, это установить CURLOPT_RETURNTRANSFER
true, что у меня уже есть.
Также я хотел бы знать, как я могу избегать установки каких-либо печенья, чтобы избежать отслеживания.
Если это помогает в любом случае я использую
- ОС: Ubuntu
- Программное обеспечение: PHP5.5
- Framework: CodeIgniter 3,0-DEV
- Расширение: Curl
- Интерфейс: Командная строка (клемма)
Вставьте свой код из сценария здесь. – chanchal118
@ chanchal118 Я включил функцию, которую я вызываю, чтобы получить html. Я использую его как '$ html = $ this-> scrape-> getHTML (" http://imdb.com '); ' – ultimate