Помощник
Пишем собственный парсер. PHP для упрощения SEO задач. |
disiyndel
|
Сообщение
#1
|
||
|
|
||
|
|||
x64 |
23.12.2014, 18:11;
Ответить: x64
Сообщение
#2
|
|
preg_match_all('/<a name="(.*)"/', $url, $mathces); это жесть. 1. слишком большая и совершенно ненужная нагрузка на сервер. 2. жадность квантификатора не ограничена (дополнительная нагрузка, т. к. ищется наибольшее совпадение), значит, если ссылка имеет вид: Код <a name="123" href="http://maultalk.com/"> будет выбран вариант: Код 123" href="http://maultalk.com/ быстрее уж через explode('<a name="', $url) + вырезание в цикле от начала до " (либо ещё одно explode('"', $part)). ещё быстрее — strpos() + substr() Сообщение отредактировал x64 - 23.12.2014, 18:15 |
|
|
disiyndel
|
Сообщение
#3
|
|
x64,
Код <a name="123" href="http://maultalk.com/"> Такой вид ссылка в этом случае точно не имеет. Предложите вариант лучше =) -------------------- |
|
|
x64 |
23.12.2014, 18:19;
Ответить: x64
Сообщение
#4
|
|
лучше? что угодно, без регулярных выражений.
регулярки целесообразно использовать на конечные куски текста, а не «сколько получил, с тем и работаю» |
|
|
disiyndel
|
Сообщение
#5
|
|
Цитата быстрее уж через explode('<a name="', $url) + вырезание в цикле от начала до " (либо ещё одно explode('"', $part)). ещё быстрее — strpos() + substr() Можно и так. Даже лучше. Но в данном случае вопрос не стоит в скорости работы. Регуляркой выходит лаконичнее что-ли. Другой человек в мешанину из строковых функций будет втыкать, а регуляркой нагляднее выходит. Если парсить огромные объемы - по-любому надо проводить бенчмарки. Сообщение отредактировал disiyndel - 23.12.2014, 18:42 -------------------- |
|
|
Vladimir-AWM |
23.12.2014, 21:46;
Ответить: Vladimir-AWM
Сообщение
#6
|
|
preg_match_all('/<a name="(.*)"/', $url, $mathces); Код preg_match_all('/<a name="([^"]+)"/', $url, $mathces);
-------------------- |
|
|
I_know |
24.12.2014, 8:22;
Ответить: I_know
Сообщение
#7
|
|
Все велосипеды давно придуманы. Мой любимый PHP Simple HTML DOM Parser.
Сообщение отредактировал I_know - 24.12.2014, 8:24 -------------------- |
|
|
Vladimir-AWM |
24.12.2014, 10:06;
Ответить: Vladimir-AWM
Сообщение
#8
|
|
Я по прывычки всегда регулярками пользуюсь, т.к. для моих целей их вролне хватает. Для большого парсинга и малого кол-во системных ресурсов лучше воспользоваться PHP Simple HTML DOM Parser.
Как я понял ТС для новичков написал данную статью. PHP Simple HTML DOM Parser конечно хорошо, но тут еще новичкам придется подключать доп. библиотеку, знать начальные сведения о DOM и классах что усложнит задачу. На PHP Simple HTML DOM Parser так получается (скачать simple_html_dom.php http://sourceforge.net/projects/simplehtmldom/): Код include("simple_html_dom.php");
$cat = "http://www.liveinternet.ru/rating/ru/genealogy/index.html"; $url = file_get_contents($cat); $html = str_get_html($url); $mathces = array(); foreach($html->find('a[name=]') as $link) { $mathces[] = $link->href; } print_r($mathces); -------------------- |
|
|
Solonik |
24.12.2014, 10:26;
Ответить: Solonik
Сообщение
#9
|
|
А я вместо print_r() использую var_dump(); Ребят есть 100 вариантов решения задачи. Главное результат = работает. И можно вечно обсуждать как лучше придет другой и скажет, что он считает что так лучше.
-------------------- |
|
|
Sanasol |
25.12.2014, 4:15;
Ответить: Sanasol
Сообщение
#10
|
|
Такой жирный профиль на фрилансе у ТСа, но такой говнокод пишет, как-то не складывается вообще это вместе.
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Betatransfer.net - прием платежей для HIGH RISK проектов, интернет эквайринг и мерчант онлайн оплат | 55 | arendator | 35087 | Сегодня, 2:12 автор: arendator |
|
Rebex.io – Ваша инновационная платформа для обмена криптовалюты! | 3 | Rebex | 966 | Вчера, 20:50 автор: Rebex |
|
Посоветуйте массажер для спины и шеи | 10 | Boymaster | 898 | Вчера, 18:02 автор: Boymaster |
|
Обучение Email Рассылкам + Софт Для Автоматизации (100к в сутки с сервера) | 10 | zennoboss | 4659 | Вчера, 5:20 автор: Skyworker |
|
SEO-продвижение USA, Europe, Asia под ключ | Dating, Gambling, Essay и 10+ ниш | 3 | Needmylink1 | 1039 | 23.4.2024, 21:26 автор: Needmylink1 |
Текстовая версия | Сейчас: 25.4.2024, 10:35 |