 |
Помогите реализовать парсер результатов ГУГЛА |

03.05.2010, 20:50
|
|
Banned
Регистрация: 05.02.2010
Сообщений: 70
С нами:
8559689
Репутация:
5
|
|
Помогите реализовать парсер результатов ГУГЛА
Помогите плииизз реализовать парсер результатов ГУГЛА,
т.е. я посылаю ему inurl:"blablabla" , он мне выдаёт результаты, допустем 10, по дефлоту.
и я из этих результатов должен получить список УРЛов, на сайты с моим поисковым запросом, подскажите плиз и посоветуйсте алгоритм написание на PHP такого
|
|
|

03.05.2010, 20:54
|
|
Участник форума
Регистрация: 03.09.2009
Сообщений: 179
С нами:
8782736
Репутация:
90
|
|
ищи по форуму, было много всяких вариантов
|
|
|

03.05.2010, 21:39
|
|
Новичок
Регистрация: 02.09.2007
Сообщений: 4
С нами:
9837173
Репутация:
0
|
|
зачем изобретать что то еще... если уже готовые скрипты есть?
типа скрипт одабейс
|
|
|

04.05.2010, 00:33
|
|
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами:
9223466
Репутация:
3171
|
|
Сообщение от BABBLS
зачем изобретать что то еще... если уже готовые скрипты есть?
типа скрипт одабейс
Кагбе, я в шоке. 150$ за 100-1500 строчек говяного кода?
Даю наводку ТС.
PHP код:
$page = file_get_contents('http://www.google.com/ie?q=' . urlencode($query) .
'&num='.$countPage.'&hl=ru&start=' . $pageNum . '00&sa=N');
preg_match_all('#title="(.*)" href=(.*)>#isU', $page, $match);
|
|
|

04.05.2010, 10:03
|
|
Участник форума
Регистрация: 26.10.2007
Сообщений: 283
С нами:
9758812
Репутация:
212
|
|
|
|
|

04.05.2010, 13:53
|
|
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами:
9423746
Репутация:
2399
|
|
модуль из одного довольно большого парсинг-движка:
PHP код:
// itspoma, 12.04.2010
class google
{
public $pages = 0;
public $try = 0;
function parse($q, $page = 0) {
global $config;
$count_inpage = rand(41,59);
$offset = $page*$count_inpage;
$google_page = curl('http://www.google.com/search?hl=ru&q='.urlencode($q).'&start='.$offset.'&num='.$count_inpage.'&');
debug($google_page, 'google_page'.($page+1));
if (stristr($google_page, '>Sorry...<'))
{
sleep(10);
$page += rand(1,4);
$this->try++;
if ($this->try <= 3) {
return $this->parse($q.' ', $page);
}
return array();
}
$links = array();
$temp_links = array();
preg_match_all('/<h3 class=r><a href="(.+?)"/is', $google_page, $temp_links);
ar_push_ar($links, $temp_links[1]);
preg_match_all('/<a href="\/url\?q=(.+?)[&|"]+/is', $google_page, $temp_links);
ar_push_ar($links, $temp_links[1]);
if ($config['debug'] == True)
echo '<b><font color=red>page '.($page+1).'</b></font> '.count($links).'<br/>';
if (stristr($google_page,'&start='.(($page+1)*$count_inpage))) {
if ($this->pages-1 > 0 && $page >= $this->pages-1) {
return $links;
}
$temp_links = $this->parse($q, $page+1);
ar_push_ar($links, $temp_links);
}
return $links;
}
}
// ф-ция для добавления масива в другой масив
function ar_push_ar(&$a,$b)
{
foreach($b as $el)
{
array_push($a, $el);
}
}
юзать:
PHP код:
$g = new google();
$g->pages = 3;
$links = $g->parse('antichat');
var_dump( $links );
|
|
|

04.05.2010, 15:31
|
|
Banned
Регистрация: 05.02.2010
Сообщений: 70
С нами:
8559689
Репутация:
5
|
|
moHze, elWaux, спасибо большое!
|
|
|

04.05.2010, 23:03
|
|
Участник форума
Регистрация: 13.04.2009
Сообщений: 121
С нами:
8988613
Репутация:
33
|
|
через пару запросов от гугла капча придет, либа бан. юзай прокси
|
|
|

04.05.2010, 23:49
|
|
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
С нами:
8838619
Репутация:
123
|
|
Сообщение от olishort
через пару запросов от гугла капча придет, либа бан. юзай прокси
наверно Вас в гугле так и забанили...
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|