Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/32: Рейтинг темы: голосов - 32, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 15.01.2012
Сообщений: 20
1

Скрипт парсинга поисковой выдачи Google

27.06.2014, 19:08. Показов 5908. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть скрипт для парсинга результатов поиска Google, получая на входе ключевое слово и имя домена, на выходе должен вернуть номер позиции в выданном запросе, но как всегда, что-то не работает. Само выполнение запроса осуществляется, но скрипт не работает.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
function get_out_xml($url,$data=null,$options=null)
{
 
    $process = curl_init($url);
    curl_setopt($process, CURLOPT_HEADER,0);
    if(!is_null($data))
    {
        curl_setopt($process, CURLOPT_POST, 1);
        curl_setopt($process, CURLOPT_POSTFIELDS, $data);
    }
    if(!is_null($options))curl_setopt_array($process,$options);
    curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($process, CURLOPT_COOKIEFILE, 'cookies.txt');
    curl_setopt($process, CURLOPT_COOKIEJAR, 'cookies.txt');
    curl_setopt($process, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5');
    curl_setopt ($process , CURLOPT_REFERER , 'http://google.com/');
    curl_setopt($process, CURLOPT_CONNECTTIMEOUT,20);
    @curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
    $return = curl_exec($process);
    curl_close($process);
//parser_sleep();
    return $return;
}
 
$url="www.catsmeow.lv";
$key="Cats";
//$num = 100;
$file561=get_out_xml("http://www.google.com./search?lr=lang_en&num=100&q=".$key);
preg_match_all("!<h3 class=\"r\"><a href=\"http://(.*?)\"!si", $file561, $num_all); // собрали все 10 ответов в массив
$count = count($num_all[1]); // посчитали кол-во результатов в массиве
for($i=0; $i<$count; $i++)
{
    if(preg_match($url, $num_all[1][$i]))
    {
        $rezult=$i+1;
        echo" - $rezult";
    }
    else
    {
        
    } // прошлись по массиву и определили позицию сайта
    echo 1+$i." - ".$num_all[1][$i]."<br>";
}
 
//echo get_out_xml("http://www.google.com./search?lr=lang_en&num=100&q=Cats");
 
?>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.06.2014, 19:08
Ответы с готовыми решениями:

Сайт пропал из поисковой выдачи
Здравствуйте, столкнулся с такой проблемой, сайт http://sevastopolkran.ru/ , полностью пропал из...

сайт выволился из поисковой выдачи
Есть сайт kvartiri.kiev.ua Уже 3 месяца его нет в поисковых выдачах. На гугле все ОК сайт...

кодировка сайта с поисковой выдачи
доброго времени суток. такая проблема, - в поисковике гугл, в поисковой выдаче, перехожу на свой...

Парсинг выдачи поисковой системы
Всем привет! Я новенький в ruby/rails, да и в программировании, уже пару месяцев своими силами...

3
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
27.06.2014, 20:22 2
Цитата Сообщение от Tairy Посмотреть сообщение
"!<h3 class=\"r\"><a href=\"http://(.*?)\"!si"
В получаемом коде нету ни одной ссылки вида ...<a href="http://..."
Если найдете покажите.
0
0 / 0 / 0
Регистрация: 15.01.2012
Сообщений: 20
27.06.2014, 20:47  [ТС] 3
Все верно, одну ошибку нашел, и заменил тот шаблон,
PHP
1
preg_match_all(#<h3 class="r"><a href="(.*?)".*?</a></h3>#, $file561, $num_all)
.На выходе получается список ссылок ввида: /url?q=http://cats.about.com/&sa=U&ei=Op6tU6SDDcfB7AanuYGA, теперь нужно с помощью функции preg_match() сопоставить с искомым сайтом, в чем и заключается текущая проблема.
0
0 / 0 / 0
Регистрация: 18.01.2014
Сообщений: 31
16.11.2014, 21:56 4
И как это осуществить, может кто подскажет новичку
0
16.11.2014, 21:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2014, 21:56
Помогаю со студенческими работами здесь

Парсер поисковой выдачи яндекса
здравствуйте. совершенно новая тема для меня парсеры. мне надо написать как через curl'ы так и...

Сайт пропал из поисковой выдачи
Ваш сайт индексируется и представлен в поиске: http://yandex.ru/yandsearch?text=rhost----- В...

Парсинг поисковой выдачи yandex
Здравствуйте. Подскажите пожалуйста где можно почитать о парсинге поисковой выдачи yandex на С#....

Парсинг поисковой выдачи // цикл
Привет, форумчане! Помогите разобраться... Пишу парсер для Яндекс.поиска. Должен собирать с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru