|
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 69
|
|
Написание парсера или грабера на php, как писать?13.04.2013, 11:12. Показов 6186. Ответов 13
Метки нет (Все метки)
Собственно сабж.
Кто писал расскажите как вы их пишете. Существует ли одна технология их написания, или их несколько? Кто какие готовые классы использует? И какие вообще есть классы для написания парсеров? Видел класс Snoopy, Кто то пользуется функцией file_get_contents, Кто то использует библиотеку cURL, кто то domDocument. И вот вопрос к вам, что вообще выбрать для написания парсера? Ведь наверно существует очень много всяких готовых библиотек? Что посоветуете? Надо чтобы скрипт мог работать через proxy, с поддержкой cookie, с подменой HTTP referer и заменой USER_AGENT и работать в несколько потоков, например параллельно парсить разные страницы со своими настрйками proxy HTTP referer и заменой USER_AGENT.
0
|
|
| 13.04.2013, 11:12 | |
|
Ответы с готовыми решениями:
13
Написание грабера новостей с сайта Написание грабера новостей с сайта Написание тестов, как их писать.? |
|
4 / 4 / 2
Регистрация: 19.01.2013
Сообщений: 79
|
|
| 15.04.2013, 20:36 | |
|
Библиотека для парсинга - PHP Simple HTML DOM Parser.
Выполнение запросов (правда не знаю как на счёт нескольких потоков) - Zend_Http.
0
|
|
|
7 / 7 / 2
Регистрация: 21.10.2012
Сообщений: 101
|
|
| 17.04.2013, 15:51 | |
|
В Simple HTML DOM Parser нет многопотчности
лучше, на мой взгляд, взять AngryCurl
0
|
|
|
4 / 4 / 2
Регистрация: 19.01.2013
Сообщений: 79
|
||
| 17.04.2013, 18:30 | ||
|
0
|
||
|
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
|
|
| 17.04.2013, 19:03 | |
|
при работе с невалидным кодом и незакрытыми тегами все вышеперечисленные библы - полный отстой, продукт студентов недоучек. курите лучше регулярки - надежнее будет.
Добавлено через 4 минуты а выбор между curl и file_get_contents - это лишь способ получения контента. Прямого отношения к разбору содержимого страницы это все не имеет.
0
|
|
|
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 13
|
|
| 17.04.2013, 19:06 | |
|
Выбрать одну из лучших библиотек для парсинга:
- PHPQuery - Nokogiri Остальное исходит из конкретного задания. Существует очень много мелких ньюансов
0
|
|
|
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
|
|
| 17.04.2013, 19:08 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 17.04.2013
Сообщений: 13
|
||
| 17.04.2013, 19:19 | ||
|
0
|
||
|
87 / 87 / 8
Регистрация: 02.09.2012
Сообщений: 510
|
|
| 17.04.2013, 19:28 | |
|
PHPQuery две вложенные одну в другую таблицы возвращает как три таблицы при абсолютно валидном коде. Новичку имхо не нужен гимор с косяками..
0
|
|
|
0 / 0 / 0
Регистрация: 12.05.2012
Сообщений: 69
|
|
| 18.04.2013, 15:55 [ТС] | |
|
Интересно это. Просто решил написать кое какой парсер, вот и думаю с чего начать. Опыта можно сказать не много, но имею представление что такое регулярки. Как понимаю с помощью регулярных выражений можно решить почти любую задачу? А все библиотеки которые вы привели, по сути делают все за тебя, не придется писать никаких регулярок и всего такого?
Тогда ещё такой ворос, какая библиотека или модуль лучше всего имитирует браузер? Я как понимаю cURL? Она может работать с куками и проксями и user agent? И ещё можно узнать, может ли эта библиотека например организовать такое? Есть сайт, на него например в три потока с разных ip(через прокси) и с разными user agenta ми и для каждого потока свои куки заходит скрипт имитирующий работу браузера, и просто переходит по страницам сайта с интервалом например минута. и так постоянно в течение дня. Реально такое организовать на PHP? Или нет у него такой возможности? Добавлено через 15 часов 15 минут Что скажете?
0
|
|
|
5 / 5 / 1
Регистрация: 09.03.2013
Сообщений: 31
|
||
| 21.04.2013, 14:02 | ||
|
А вот мне интересно как правильно сделать если нужно спарсисть целую категорию с сайта. Я так понмаю заходим на первую страницу ищем урлы статей (или товаров) в цикле при помощи curl открываем каждую страницу и достаем нужную инфу, потом переходим на 2-ю страницу и делаем тоже самое. А если в категории страниц 50 и на каждой странице по 10 новостей, это нам нужно будет открыть 550 страниц. Такой скрип будет работать очень долго. Поделитесь опытом как пишите парсеры в таких ситуациях?
0
|
||
|
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
|
|
| 21.04.2013, 17:39 | |
|
andrei_z если мой скромный ответ поможет, то обработку делайте постранично, один запуск скрипта на одну обрабатываемую страницу.. На этом этапе парсим страницу, заодно получаем ссылки на другие страницы. Ссылки на страницы сайта нужно фиксировать в файле с флагом "обработан" или "необработан". В начале скрипта читается файл ссылок и дополняется по необходимости.. Ваша страница, с которой вы запускаете свой скрипт, запускает его ajax-ом, ваш скрипт возвращает ответ - остались ли еще необработанные страницы.. цикл закончится когда вы обработаете все ссылки. Несколько десятков тысяч страниц таким образом у меня парсились около двух часов.. хостер ничего мне не сказал по поводу трафика..
1
|
|
|
5 / 5 / 1
Регистрация: 09.03.2013
Сообщений: 31
|
|
| 21.04.2013, 22:37 | |
|
AndreyDyakonov, Спасибо. Кажется все понял. На днях попробую сделать.
А вот еще интересует вопрос как вы отфильтровываете ссылки на другие сайты?
0
|
|
|
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
|
||||||
| 21.04.2013, 22:52 | ||||||
|
самое простое, ссылка начинающаяся с http:// есть внешняя ссылка.. если на вашем сайте-жертве используются всегда абсолютные, такое бывает, ссылки тогда нужно проверять на http://sitename.zone
Добавлено через 3 минуты вот как у меня, если есть указание протокола, то это внешняя ссылка
1
|
||||||
| 21.04.2013, 22:52 | |
|
Помогаю со студенческими работами здесь
14
Написание парсера Написание парсера файла Написание Web парсера Иморт из .DB в MySql. Написание парсера Ошибка при написание парсера Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|