/bin/bash - curl запрос в яндекс

12
neoks
На сайте с 17.03.2010
Offline
152
3699

Здравствуйте, подскажите код за $, что бы сделать запрос на яндекс, к примеру

http://yandex.ua/yandsearch?text=%E7%E0%EF%F0%EE%F1&lr=145 и получить содержимое ссылки.

Den73
На сайте с 26.06.2010
Offline
523
#1

утилита GET

не?

neoks
На сайте с 17.03.2010
Offline
152
#2
Den73:
утилита GET

не?

возможно, мне нужна реализация за $

Den73
На сайте с 26.06.2010
Offline
523
#3

ну так вы напишите нормально то чего просите

GET site.ru - получите содержимое

LiteCat
На сайте с 03.05.2007
Offline
240
#4

curl -L http://yandex.ua/yandsearch?text=%E7%E0%EF%F0%EE%F1&lr=145

Вот это код выведет вам html, и он следует за редиректами (яндекс по вашему УРЛу переадресовывает через 302 заголовок)

Если надо что-то посложнее и пофункциональнее - стучитесь в ЛС

N
На сайте с 06.05.2007
Offline
419
#5

Удивительно, но lynx делает это бесплатно.

Прямо так и запускаете :

lynx -listonly -dump "http://yandex.ua/yandsearch?text=%E7%E0%EF%F0%EE%F1&lr=145"

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

Беда с тем, что яндекс сейчас считает такой запрос ботовским :) Наверное нужно повозиться с ключами, чтобы изменился user-agent.

Кнопка вызова админа ()
neoks
На сайте с 17.03.2010
Offline
152
#6

Первое сообщение обновить не могу, поэтому переформулирую так.

neoks:
Здравствуйте, подскажите код за $, что бы сделать запрос на яндекс, к примеру
curl -sL "http://yandex.ua/yandsearch?text=%E7%E0%EF%F0%EE%F1&lr=145" и получить содержимое ссылки, вместо http://petromi.com/get/0f888d19cf.png
M
На сайте с 24.10.2011
Offline
173
#7

neoks, воспользоваться прокси

neoks
На сайте с 17.03.2010
Offline
152
#8

michaek, прокси не помогают, там проверка на куки, нужно как то сохранить и передать куки.

M
На сайте с 24.10.2011
Offline
173
#9
neoks:
michaek, прокси не помогают, там проверка на куки, нужно как то сохранить и передать куки.

нет там никакой проверки на куки изначально. вот с рандомного сервера

# curl -sL "http://yandex.ua/yandsearch?text=%E7%E0%EF%F0%EE%F1&lr=145"

<!DOCTYPE html><html class="i-ua_js_no i-ua_css_standard"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=edge"/><title>Яндекс</title><link rel="shortcut icon" href="http://yandex.st/lego/_/pDu9OWAQKB0s2J9IojKpiS_Eho.ico"/><script>;(function(d,e,c,r){e=d.documentElement;c="className";r="replace";e[c]=e[c][r]("i-ua_js_no","i-ua_js_yes");if(d.compatMode!="CSS1Compat")e[c]=e[c][r]("i-ua_css_standart","i-ua_css_quirks")})(document);</script><style cache="yes">body{font:.8em Arial,Helvetica,sans-serif;position:relative;z-index:0;margin:0;padding:0 0 1em 0;color:#000;background:#fff}wbr{display:inline-block}:link:hover,:visited:hover{color:#f00!important/*!head*/}.b-scroll{position:fixed;z-index:11;left:3px;padding:.35em .5em .5em;cursor:pointer;color:#00c;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;background:#eef1fa;background:-moz-linear-gradient(top,#f5f7fd,#e6eaf6);background:-webkit-gradient(linear,0 0,0 100%,from(#f5f7fd),to(#e6eaf6))}.b-scroll:hover{background:#cadcfa;background:-moz-linear-gradient(top,#d6e6ff,#c5d8f7);background:-webkit-gradient(linear,0 0,0 100%,from(#d6e6ff),to(#c5d8f7))}.b-sprite{border:none}.b-page_tld_ru .b-sprite,.b-page_tld_ua .b-sprite,.b-page_tld_by .b-sprite,.b-page_tld_kz .b-sprite{background-image:url(//yandex.st/serp/_/1sCXyVXUKBkuZEuafW9vwNb7Ufo.png)!important/*!head*/}.b-page_tld_com .b-sprite,.b-page_tld_com-tr
neoks
На сайте с 17.03.2010
Offline
152
#10

michaek, странно, взял для теста 1000 прокси

for i in `awk '{print}' $dird/proxy/all.txt`; do 

sleep 1
curl -sL --proxy "$i" --connect-timeout 3 "http://yandex.ua/yandsearch?text=film&lr=145" >> test.txt
done

но ссылок по этому URL так и не получил, лиш куча HTML и текст что вы бот. Хотя через тот же webparser или даже PHP скрипт, все работает.

Где именно ошибка у меня ? если есть желание можно как то в тиемвиере просмотреть, не бесплатно естественно.

Даже просто взял поиск ссылки которая должна там быть

for i in `awk '{print}' $dird/proxy/all.txt`; do 

sleep 1
curl -sL --proxy "$i" --connect-timeout 3 "http://yandex.ua/yandsearch?text=film&lr=145" | grep film.ru >> test.txt
done

но файл test.txt пуст, что говорит о том, что все мои запросы посчитались ботами.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий