![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| systemIV |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 28.3.2011 Репутация: -1 Всего: -1 |
Давно не писал парсеров, а снипов или каких то примеров не осталось.
Помогите пожалуйста с регуляркой, вот что у меня вырисовывается, но ответ приходит нулевой.
Подскажите, где здесь косяк? Это сообщение отредактировал(а) systemIV - 31.8.2011, 11:39 |
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
А что должно в итоге получиться?
Это сообщение отредактировал(а) s0lman - 31.8.2011, 12:02 -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| systemIV |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 28.3.2011 Репутация: -1 Всего: -1 |
Ну в итоге мне нужно отпарсить ссылки
|
|||
|
||||
| s0lman |
|
|||
|
Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: 9 Всего: 29 |
как вариант
как-то так -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
| systemIV |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 28.3.2011 Репутация: -1 Всего: -1 |
s0lman, спасибо, помогло.
А вот ещё такой вопрос, как увеличить скорость?? Возможно я не так применяю парсер. Его алгоритм примерно такой: 1. В цикле перебираю все страницы до последней 2. Инициализирую курл с УРЛ где подставляется номер страницы из цикла. 3. Из полученной страницы через регулярные выражения отбираю УРЛы на страницы. 4. Создаю цикл перебора полученых страниц, где также инициализирую ещё один экземпляр КУРЛа 5. Через регулярку во втором экземпляре записываю нужные мне данные в массив. Возможно стоило бы заменить регулярки на простой реплейс, но может есть более очевидные техники? |
|||
|
||||
| enoff |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 297 Регистрация: 30.6.2010 Где: Санкт-Петербург Репутация: 11 Всего: 13 |
по поводу регулярок и простых функций - по сравнению с тратами на скачивание страниц, время на разбор в разы меньше.
экземпляр курла можно оставить один, менять только url. можно использовать multi_curl, запускать дочерние скрипты фоном и т.д., но жутко это все неудобно. если любыми целями требуется ускорить работу парсера, то придеться извращаться. ну и ширину канала увеличить, самый заметный прирост будет. и при больших объемах (да и вообще в подобных скриптах) лучше уничтожать данные, которые больше не нужны. курл и сам пять жрет не слабо, и данных можно много насобирать. лучше сразу делать, а потом сложновато будет исправлять, пхп он такой |
|||
|
||||
| systemIV |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 28.3.2011 Репутация: -1 Всего: -1 |
Не хотел создавать новый топик.
Мне нужно из тега TITLE и с самой страницы получить инфу. Хочу оформить это всё единой регуляркой. Но вот возник вопрос, ведь между тегом заголовка и инфой которую мне нужно получить огромное пространство. как можно обозначить весь этот ненужный контент в регулярке?? |
|||
|
||||
| voral |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 158 Регистрация: 16.3.2008 Где: Иваново Репутация: нет Всего: нет |
А зачем именно одной?
Не достаточно данных для ответа. А каким выражением вы хотите найти данные "с самой страницы"? Имхо, тут надо рассматривать конкретный случай и подобрать подходящий механизм, чтоб ".*" не вобрало в себя и нужный контент |
|||
|
||||
| Absinthe |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Есть такуя штука - профилирование(profiling). Она укажет, где косяк производительности. В данном случае в сети.
|
|||
|
||||
| systemIV |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 28.3.2011 Репутация: -1 Всего: -1 |
По совету перешёл на сокеты.
Но вопрос снова не в этом) Как можно с помощью регулярки(желательно одной)
Получить массив этих строк
Это сообщение отредактировал(а) systemIV - 12.9.2011, 18:01 |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |