Двойной парсинг

Обсуждение серверного программирования.

Модераторы: Duncon, Yurich

viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

25 дек 2013, 13:58

Можно ли вытянуть вот с этой страницы сайта (ссылка ниже) и вопросы и ответы к ним на свой сайт?
Ссылка: [Ссылка удалена]
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

25 дек 2013, 14:08

Можно .
[syntax=Delphi] [/syntax]
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

25 дек 2013, 15:11

Спарсить вопросы я могу. Но как спарсить ответы?
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

25 дек 2013, 15:21

В тексте есть же ссылка - Ответов 1, берёшь её и парсишь ответы..
[syntax=Delphi] [/syntax]
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

25 дек 2013, 15:26

Но как это реализовать? В спарсенном тексте нажатие на ссылку переносит на сайт донора. Но не парсит данные из ссылки на наш сайт..
Аватара пользователя
Duncon
Сообщения: 1974
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

25 дек 2013, 15:53

Вопрос выглядит как - я могу создать один полигон, что мне делать если мне нужно создать 2 полигона?
Вы пишите что можете распарсить страницу с вопросами, но при этом не можете взять ссылку и то же самое проделать по ней (я смотрел все страницы с ответами однотипные). Приводите примеры чего вы делаете, глядишь кто поможет..
[syntax=Delphi] [/syntax]
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

25 дек 2013, 16:01

Я парсю страницу с вопросами и с ссылками на ответы к этим вопросам так:

<?php

//откуда будем парсить информацию
$content = iconv("windows-1251", "UTF-8", file_get_contents('http://www.9111.ru/answers/daily/2013_12_24/'));

// Определяем позицию строки, до которой нужно все отрезать
$pos = strpos($content, '<td class="td_q1 my-questions__cells my-questions__cells-left">');

//Отрезаем все, что идет до нужной нам позиции
$content = substr($content, $pos);

// Точно таким же образом находим позицию конечной строки
$pos = strpos($content, '<form action="http://www.9111.ru/questions/add/?utm_s ... rm#f_q_add" method="post">');

// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);

//если в тексте встречается текст, который нам не нужен, вырезаем его
$content = str_replace('','', $content);

// выводим спарсенный текст.
echo ($content);

//echo "вставляем сюда завершающий код";
?>
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

25 дек 2013, 16:22

Сейчас мой парсинг-код выглядит так:

<?php

//откуда будем парсить информацию
$content = iconv("windows-1251", "UTF-8", file_get_contents('http://www.9111.ru/answers/daily/2013_12_24/'));

// Определяем позицию строки, до которой нужно все отрезать
$pos = strpos($content, '<td class="td_q1 my-questions__cells my-questions__cells-left">');

//Отрезаем все, что идет до нужной нам позиции
$content = substr($content, $pos);

// Точно таким же образом находим позицию конечной строки
$pos = strpos($content, '<form action="http://www.9111.ru/questions/add/?utm_s ... rm#f_q_add" method="post">');

// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);

//если в тексте встречается текст, который нам не нужен, вырезаем его
$content = str_replace('','', $content);

// выводим спарсенный текст.
echo ($content);

//echo "вставляем сюда завершающий код";
?>
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

25 дек 2013, 16:23

Сейчас мой код для парсинга выглядит так:

Код: Выделить всё

<?php

//откуда будем парсить информацию
$content = iconv("windows-1251", "UTF-8", file_get_contents('http://www.9111.ru/answers/daily/2013_12_24/'));

// Определяем позицию строки, до которой нужно все отрезать
$pos = strpos($content, '<td class="td_q1 my-questions__cells my-questions__cells-left">');

//Отрезаем все, что идет до нужной нам позиции
$content = substr($content, $pos);

// Точно таким же образом находим позицию конечной строки
$pos = strpos($content, '<form action="http://www.9111.ru/questions/add/?utm_source=ask-form&utm_medium=form#f_q_add" method="post">');

// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);

//если в тексте встречается текст, который нам не нужен, вырезаем его
$content = str_replace('','', $content);

// выводим спарсенный текст.
echo ($content);

//echo "вставляем сюда завершающий код";
?>
viboxjuwin
Сообщения: 34
Зарегистрирован: 29 сен 2013, 22:18

25 дек 2013, 16:44

Модераторы сайта не позволяют пройти моему сообщению с кодом на php.
Ответить