Как Написать Парсер на PHP
Бери в Интернете только то что нужно и не скачивай мусор.
Исходники парсера вы можете найти в архиве www.abcolut.com/prg/GoogeADS.zip . Я описываю лишь самые важные места. скрипт с комментариями и пробелами занимает всего лишь 40 строк.
include("Snoopy.class.php");//подключить шаманскую библиотеку, которая эмулирует браузер.
$snoopy->fetch($cmd); // Вот так библиотеке задается адрес для скачки.
$snoopy->results // вот здесь находятся результаты.
preg_match_all("'Sponsored.Links(.*).id=[\"res\"|res]'isx", $snoopy->results, $fst); // строка регулярного выражения для вырезания блока, который начинаетя со слов «'Sponsored Links» и заканчивается «id=res».
Для того чтобы научиться составлять регулярные выражения следует скачать книжку «Фридл Дж. Регулярные выражения (2-е изд.), Питер 2003, 464 с., ISBN 5-272-00331-4.djvu» и программу «The Regex Coach». Первые пять часов работы с регулярными выражениями я матерился и представлял, что я тупой. Потом что то щелкнуло в голове и все стало предельно ясно и понятно.
preg_match_all("'id=an(.*?)>(.*?)<span .class=a>(.*?)< .span'isx", $htm1, $fst); // регулярное выражение для определения набора текстов и ссылок.
Все!
Теперь вы можете писать свои парсеры, например, для организации компаний в copeac.
Хотите знать сколько страниц под данному ключевому слову в гугле – пожалуйста, Хотите узнать дату конца регистрации домена – пожалуйста. Выбрать блок, помеченный особенными значками, а остальное выкинуть – пожалуйста.
См по теме:
- создатель тематических индексов
- Трансляция Гугле-новстей
Статья размещена на личном сайте о SEO, o shareware, программировании, flash online games и о жизни Сергея Михайлова
Май 18th, 2008 16:04
лишний раз убеждаюсь, что регулярные выражения - необходимая вещь в php.
Сентябрь 26th, 2009 15:35
Полезная статья. Как раз сейчас пишу свой парсер ссылок с сайтов.
Ноябрь 17th, 2009 20:29
@seotouareg, регулярные выражения - вещь просто незаменимая. Про неё книги целые пишут!
Статья хорошая, но есть одно НО: оформление самой статьи. Исходники рекомендую заключать в тег
Ноябрь 18th, 2009 19:36
О! Вот теперь совсем другое дело! :)
p.s. хотел написать тег code
Февраль 11th, 2010 23:10
Только у меня строки кода, которые длиннее, чем левая колонка уходят “вникуда”? :)
А по теме - тяжело “въезжать”, зато когда осознаешь всю (или хотя бы часть) мощь.. )) Ухх :)
Февраль 11th, 2010 23:26
Я не знаю как бороться с правым краем.
В качестве варианта - можно сделать копи-паст
и исходники прилагаются: www.abcolut.com/prg/GoogeADS.zip
все очень просто делается.
Февраль 27th, 2010 18:42
про правый край - сделать с фиксированой шириной.
А вообще для кода советуюу http://alexgorbatchev.com/wiki/SyntaxHighlighter.
Февраль 28th, 2010 00:25
У меня по ссылке в IE левый край за экраном %)
ps IE пользую редко… Видимо, повезло :)
pps. а вообще, подсвечивать код надо :) только там надо всё перебирать. :)
Июль 15th, 2010 12:07
Плагин WP-Syntax поможет отображать код верно и аккуратно.