Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
Есть сайт, который нужно распарсить я его распарсил с помощью этой библиотеки (phpQuery) вообщем все получилось, кроме одного нужно поменять ссылки которые тоже с копировались вот структура html сайта:
<ahref="/yandsearch?cl4url=www%2Egazeta%2Eru%2Fnews%2Flenta%2F2011%2F03%2F20%2Fn%5F1755289%2Eshtml"class="title">На трассе М-5 под Самарой образовалась пробка из тысячи грузовиков</a> 27 сообщений
</dt>
<ddclass="text">
<p>
Сильный снегопад и метель спровоцировали автомобильный затор на участке федеральной трассы М-5 "Урал" (<strong>Самара</strong>-Уфа – Челябинск). <br>
</p>
</dd>
<ddclass="similar">
<ul>
<li>
<dl>
<dtclass="head">
<aonclick="r(this,'news/aid=13730')"href="http://news.bcm.ru/doc/37055"target="_blank"class="title">Более тысячи фур из-за снегопада стоят в огромной пробке на трассе М-5 </a>
<aonclick="r(this,'news/aid=1040')"href="http://www.gazeta.ru/news/lenta/2011/03/20/n_1755289.shtml"target="_blank"class="title">На трассе М-5 под <strong>Самарой</strong> образовалась пробка из тысячи грузовиков </a>
и вот эти ссылки типа "/yandsearch?cl4url=www%2Egazeta%2Eru%2Fnews%2Flenta%2F2011%2F03%2F20%2Fn%5F1755289%2Eshtml" нужно поменять подставив впереди вот этот домен: http://news.ru. То есть должно получится вот так "http://news.ru/yandsearch?cl4url=www%2Egazeta%2Eru%2Fnews%2Flenta%2F2011%2F03%2F20%2Fn%5F1755289%2Eshtml"
//$pq->find('h3.b-offers__title > a')->attr('target', "blank"); // добавляяем атрибут для найденого элемента
}
echo$hentry;
И ссылки заменяются, но заменяются все на одну определенную ссылку, то есть везде ссылки где их нужно было заменить они стали одинаковыми(но такие какие надо), может кто нибудь уже сталкивался с этой проблемой, помогите пожалуйста
----- Так было, так есть и так будет
Budulianin
Отправлено: 20 Марта, 2011 - 22:57:32
Частый гость
Покинул форум
Сообщений всего: 132
Дата рег-ции: Окт. 2010
Помог: 0 раз(а)
Советую использовать для парсеров регулярные выражения, а не библиотеки. Кода меньше, работает быстрее и универсальнее.
movEAX
Отправлено: 21 Марта, 2011 - 05:35:42
Частый посетитель
Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
movEAX
C помощью этой функции вы найдете это в ссылке и заменяете ее полностью, а ссылки то везде разные, но в моем коде это тоже работает но что то не так в самом парсере сайта
----- Так было, так есть и так будет
JustUserR
Отправлено: 21 Марта, 2011 - 23:10:07
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
vanicon пишет:
C помощью этой функции вы найдете это в ссылке и заменяете ее полностью, а ссылки то везде разные, но в моем коде это тоже работает но что то не так в самом парсере сайта
Использование предполагаемого метода решения поставленной задачи в дейтвительности позволяет осуществить достижение поставленной цели, в силу проведение операции замены вложенных блоков информационных полей на основании использование статической ключевой предваряющей части, при условии сохранения базового элементного уровня трактования которой в ассоциированном информацинном поле возможно проведение упрощенного варианта замены целевых строковых элементов
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
vanicon
Отправлено: 21 Марта, 2011 - 23:23:44
Частый посетитель
Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010 Откуда: Самара
Помог: 17 раз(а)
JustUserR могли примерчик маленький кинуть если не трудно
----- Так было, так есть и так будет
JustUserR
Отправлено: 21 Марта, 2011 - 23:55:40
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
vanicon пишет:
JustUserR могли примерчик маленький кинуть если не трудно
Осуществление упрощенной модификации решения рассматриваемой задачи возможно при использовании базовой структуры вложенных элементов информационного поля, позволяющей производить их детерминацию и модификацию на основании статического параметра
Если оригинальное информационное поле представлено в форме "/yandsearch?cl4url=www%2Egazeta%2Eru%2Fnews%2Flenta%2F2011%2F03%2F20%2Fn%5F1755289%2Eshtml", то в процессе осуществления указанной замены вложенных строковых объектов вида "/yandsearch" на элементы "http://site.ru/yandsearch", будет проведена замена и оригинального значения в виде "http://site.ru/yandsearch?cl4url=www%2Egazeta%2Eru%2Fnews%2Flenta%2F2011%2F03%2F20%2Fn%5F1755289%2Eshtml"
Указанный метод в действительности позвоялет осуществить упрощение решения задачи в частных случаях, однако в унифицированном методе требуется проведения анализа сопоставления базовых элементных уровней трактования в инкапсулированных формах
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.