Парсер пишу просто, ради опыта. Взял первый попавшийся сайт. Так как раньше подобное делать не пробовал, у меня будет куча вопросов.
Вот пожалуй первые 2.
1) Curl или file_get_contents? Думаю курл, так как там можно отправлять заголовки и.т.д
2) Порядок действий?
1. etoYA - 19 Февраля, 2013 - 14:19:06 - перейти к сообщению
2. OrmaJever - 19 Февраля, 2013 - 14:25:15 - перейти к сообщению
1) зависит от сайта но может подойти и file_get_contents
2) зависит от задачи вобщето, но в целом: регулярки
2) зависит от задачи вобщето, но в целом: регулярки
3. etoYA - 19 Февраля, 2013 - 14:31:10 - перейти к сообщению
OrmaJever пишет:
2) зависит от задачи вобщето, но в целом: регулярки
Немного не это имел ввиду.
Вот, этот сайт мне попался первым, решил на нем тренироватся.
_http://facte.ru/
Что делать дальше? Верный ход?
1) Нужно получить все ссылки на статьи (в цикле переходить по страницам /page/2/) и собирать их в массив.
Как понять, что страница полностью спаршена?
2) Потом пройтись по каждой ссылке и записывать в другой массив/базу информацию?
4. IstonRU - 19 Февраля, 2013 - 14:32:48 - перейти к сообщению
Парсер - синтаксический анализатор. Если хочешь изучить данную тему, то читай Ахо "Путь дракона". Пригодится везде. Регулярки для Непонимающих, ИМХО.
5. etoYA - 19 Февраля, 2013 - 14:35:09 - перейти к сообщению
IstonRU, да не, регулярки я понимаю С ними вопросов особых наверное и не будет. Мне само строение интересно, а в гугле не смотрб, ибо не хочу сразу начать коряво и не правильно писать, чтоб потом переучиватся).
6. IstonRU - 19 Февраля, 2013 - 14:40:26 - перейти к сообщению
etoYA, мне когда-то нужно было писать кросс-компилятор для микроЭВМ. Прочитав "Путь дракона", я смог реализовать его, хотя до прочтения, вообще не сталкивался с парсерами. Почитай книгу, там все логично, поймешь и будет тебе счастье.
7. etoYA - 19 Февраля, 2013 - 14:43:36 - перейти к сообщению
IstonRU, окей)
(Добавление)
Ну, этот код с задачей справляется, переходит по страницам и собирает ссылки в массив.
А теперь касательно кода, тут все нормально?
(Добавление)
Ну, этот код с задачей справляется, переходит по страницам и собирает ссылки в массив.
А теперь касательно кода, тут все нормально?
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $url = 'http://facte.ru';
- $maxPages = 3;
- for ($i = 0; $i < $maxPages; $i++){
- $links[] = $matches[1];
- }