Всем доброго вечера! Возможно буду писать фигню, но разобраться самому быстро в этом не получиться. Задание. Необходимо разработать скрипт парсинга HTML поисковой страницы Google. Скрипт должен получить на вход два параметра «Имя домена» (например «domainname.com») и «Ключевое слово» (например «Кролики»), отправить поисковый запрос на сервер Google, и в полученном ответе искать ссылку на «Имя домена». Впервые столкнулся с парсингом и стал использовать PHP Simple HTML DOM Parser. с обычных страниц(статей) инфо можно считывать. а вот как быть с гуглом???? возможно сделать через эту библиотеку или может надо использовать curl. Кто может помогите советом в какую степь двигаться. желательно чтобы решение было найлегчайшим! Усложнять потом буду. Спасибо. P.s. кстати забыл сказать, что нельзя использовать «Google Web Search API» и «Google Custom Search API». вдруг туда отправите. Ладно. Вижу, что желающих помочь пока мало. Вопрос следующий: а какие функции php нужно использовать, чтобы задав запрос из формы в поисковик google мне как в гугле выдались поисковые ответы. Например, задал в форме "php" - выдались сайты с php. НУ помогите пожалуйста советом. мне же не нужен от Вас полный код программы. Ещё раз спасибо
вообще рекомендую идти на фриланс. есть у меня товарищ парсер еще тот хорошие портфолио и отзывы. если надо пишите в личку.
Прям помог так помог. Ладно может по другому кто поможет. Страницу гугла я получил с помощью: Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Parser Google</title> <style type="text/css"> body { background-color: #DDDDDD; font-family: "Trebuchet MS", Arial, sans-serif; } h1, h2 { font-family: serif; text-align: center; } #page { background-color: #FFFFFF; border: 2px solid #AAAAAA; margin: 0 auto; padding: 20px; width: 80%; } div.error { border: 1px solid #AA0000; background-color: #FFAAAA; padding: 5px; } .google { font-size: 1.2em; } </style> </head> <body> <div id="page"> <h1><span class="google"><span style="color:#184DC6">К</span><span style="color:#C61800">р</span><span style="color:#EFBA00">и</span><span style="color:#184DC6">в</span><span style="color:#31B639">о</span><span style="color:#C61800">й</span> <span style="color:#184DC6">П</span><span style="color:#C61800">а</span><span style="color:#EFBA00">р</span><span style="color:#184DC6">с</span><span style="color:#31B639">е</span><span style="color:#C61800">р</span> <span style="color:#184DC6">G</span><span style="color:#C61800">o</span><span style="color:#EFBA00">o</span><span style="color:#184DC6">g</span><span style="color:#31B639">l</span><span style="color:#C61800">e</span></span></h1> <form action=""> <table align="center" cellpadding="4"> <tr> <td> <span title="Слово которое ввводим для поиска">Поисковое слово</span> </td> <td> <input type="text" name="keyword" value=""> </td> </tr> <tr> <td align="center" colspan="2"> <input type="submit" name="submit" value="Начать"> </td> </tr> </table> </form> <?php if(isset($_GET['submit'])) $keyword = $_GET['keyword']; $ch = curl_init(); //Указываем URL, куда будем обращаться. Протокол http:// curl_setopt($ch, CURLOPT_URL, "http://www.google.com/search?num=2&hl=ru&q=$keyword"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); $data = curl_exec($ch); //echo $data; curl_close($ch); ?> </body> </html> А код парсера(не сильно хороший, но рабочий проверено на других страницах) выглядит так: Код (Text): <?php include('simple_html_dom.php'); $domains = array(); pagePars('http://localhost/pars/pars1.php'); function pagePars($page) { global $domains; $html = new simple_html_dom(); $html->load_file($page); $items = $html->find('div[class=kv]'); foreach($items as $post) { $domains[] = array($post->children(0)->outertext); } # посмотрим, есть ли следующая страница #if($next = $html->find('a[class=nextpostslink]', 0)) { # $URL = $next->href; # echo "going on to $URL <<<\n"; # подчищаем утечки памяти $html->clear(); unset($html); } ?> Мне надо чтобы первая часть сделала запрос на слово, а вторая часть взяла эту страницу которую нашла первая, как я думаю она теперь будет в моём пхпфайле который я запускаю и провела по ней парсинг. Вроде по отдельности всё работает а в купе нет. Соединяю вместе и сразу виснет денвер. Такое ощущение , что или что-то зацикливается или я не знаю. ПОМОГИТЕ
не знаю как гугл, яндекс такие вещи почти сразу пресекает, не любят они когда их парсят и подставляют каптчу или еще какую левую бяку, которую вы не видите. потому и смысла нет в этих скриптах, поэтому кто знает как это сделать, сидят и помалкивают. php не поддерживает многопоточность. simple_html_dom.php - это видимо класс для парсинга. http://localhost/pars/pars1.php - это видимо страница содержащая выдачу гугла. может имеет смысл получить выдачу и полученное сохранить в файл, а потом тренироваться сколько влезет.