LINUX.ORG.RU

Пара вопросов по curl

 ,


0

1

Связался с lib curl, возникла пара вопросов по его использования.

1. Допустим, делаю поиск по гуглу, типа

curl_easy_setopt(my_curl, CURLOPT_URL, "http://www.google.com/search?hl=en&q=red%20riding%20hood");
Я так понимаю все равно как делать поиск по http or https.

2. Как сделать чтобы он возвращал результат в заданом количестве? Т.е. так он возвращает данные только для одной страницы браузера, а нужно больше.

3. Как сделать чтобы он не «срал» в консоль логи работы, т.е. он выводит в сыром виде в лог, хтмл-ки которые возвращает, а это как-бы тормозит процесс работы.

Спасибо.

Как сделать чтобы он возвращал результат в заданом количестве? Т.е. так он возвращает данные только для одной страницы браузера, а нужно больше.

Get параметры к запросу к самому гуглу или повторные запросы, уже с переходом по страницам.

Как сделать чтобы он не «срал» в консоль логи работы, т.е. он выводит в сыром виде в лог, хтмл-ки которые возвращает, а это как-бы тормозит процесс работы.

Не помню ничего такого, видимо через curl_easy_setopt тот же.

quiet_readonly ★★★★
()

Посмотрите опции CURLOPT_WRITEFUNCTION (нужна задать свою фейковую) и CURLOPT_VERBOSE.

placement_new ★★
()
Последнее исправление: placement_new (всего исправлений: 1)

Как сделать чтобы он возвращал результат в заданом количестве? Т.е. так он возвращает данные только для одной страницы браузера, а нужно больше.

ЩИТО? Он возвращает ровно то, что сервер ему отдает в ответ на HTTP GET.

Как сделать чтобы он не «срал» в консоль логи работы, т.е. он выводит в сыром виде в лог, хтмл-ки которые возвращает, а это как-бы тормозит процесс работы.

Выставить опцию CURLOPT_NOPROGRESS в 1.

Deleted
()
Ответ на: комментарий от Deleted

ЩИТО? Он возвращает ровно то, что сервер ему отдает в ответ на HTTP GET.

ну вот я ему отдаю такую строку как указал в первом посте, он возвращает, но только одну страницу в сыром виде, я ее сохранял, открывал в браузере там были переходы дальще по страницам, но они конечно не работали, т.к. для них не было данных, а вот как сделать чтобы он вернул и для них страницы тоже, т.е. все.

Выставить опцию CURLOPT_NOPROGRESS в 1.

да кажется оно

Boy_from_Jungle ★★★★
() автор топика

2. Как сделать чтобы он возвращал результат в заданом количестве? Т.е. так он возвращает данные только для одной страницы браузера, а нужно больше

как уже советовали выше, можно просто циклом сохранять каждую следующую страницу вручную, добавляя к строчке запроса &start=20 для второй страницы, 30 для третьей и так вплоть до 990 (на 1000 вернёт «Sorry, Google does not serve more than 1000 results for any query»)

например

"http://www.google.com/search?hl=en&q=red%20riding%20hood&start=40"

не знаю, можно ли увеличить количество результатов за один запрос

jeuta ★★★★
()
Ответ на: комментарий от jeuta

не знаю, можно ли увеличить количество результатов за один запрос

Пишут что можно

Optional. The num parameter identifies the number of search results to return.

The default num value is 10, and the maximum value is 20. If you request more than 20 results, only 20 results will be returned.

Note: If the total number of search results is less than the requested number of results, all available search results will be returned.

Но на практике чего-то не хочет

Boy_from_Jungle ★★★★
() автор топика
Ответ на: комментарий от Boy_from_Jungle

А не работает, провтыкал поставить важный знак)))

Boy_from_Jungle ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.