Пишем парсер записей блога

3.9K
.
(\/)____o_O____(\/)
ValekS, хотя да, скорее был задел на будущее
if (!empty($_SESSION['symb'])) {
$simvol = $_SESSION['symb'];
} else {
$simvol = 2000; // Число символов на страницу по умолчанию
}
которого у этой конструкции нет
.
(\/)____o_O____(\/)
ValekS, хотел сказать почему курл лучше, file_get_contents не передает юзер агент помоему и другие заголовки, потому грабинг от нее запросто запретить одной проверкой, а еще можно сессию записывать и проверять, а курл это осиливает, и куки
.
Ей 25
Koenig (30.06.2013 / 21:41)
ValekS, $simbol !== $simbols
Что тождественно не равны?
В общем это не вариант так делать. Так как опять же если парсить сайт не на Джоне, то такая реализация не пойдёт(я ж не узнаю устройство библиотеки какого то там сайта не на джоне). А я собираюсь сделать более-менее универсальный парсер, не зависящий от ЦМС.
Хотя если в библиотеке юзер(а лучше и гость тоже) сам может выбирать кол-во символов на страницу то этим следует воспользоваться, а не мучиться с постраничкой. То есть если к примеру так - /lib/index.php?id=1&sym=5000 - 5000 символов на страницу. А так...
.
(\/)____o_O____(\/)
ValekS, разные переменные, но заметил что первая просто висит, видать была задумка и не реализовалась далее по коду, а в следующей библиотеке этого не будет вовсе
.
Ей 25
Koenig (30.06.2013 / 21:53)
ValekS, разные переменные, но заметил что первая просто висит, видать была задумка и не реализовалась далее по коду, а в следующей библиотеке этого не будет вовсе
Вот Вот. Теперь уже точно надо обходить постраничку.
Посмотрю что UA-95 напишет, может возьму у него идею обхода постраничной навигации. Если нет, то буду сам что-то думать. Выход должен быть.
.
(\/)____o_O____(\/)
UA95, да, не знал?
.
Ей 25
UA95 (01.07.2013 / 00:54)
Неа,никогда не пользовался библиотекой.

Вот функция определения последней страницы
И как, работает? Или так как у меня - если 5 страниц и меньше то определяет последнюю, если больше пяти, то нет.
.
Ей 25
UA95, это типо функция вытаскивает номер последней страницы(тоесть ты сразу вырезаешь все ссылки с постраничной навигацией, а потом вытаскиваешь название последней)? Да. По идее должно работать. Надо проверить.
.
Ей 25
Koenig (30.06.2013 / 21:32)
ValekS, тогда сначало маленькая функция которая проидется по библиотеке и найдет нужные ид
Я не знаю каким чудом работает эта функция но она работает! И на джонцмс.ком и на хеллтар.ру и думаю и на других сайтах работать будет.
Функция вытаскивает заголовки страниц и проверяет: если там в первом пункте - [0] => HTTP/1.1 200 OK - то она пропускает эту страницу. А далее ай-ди пропущенной страницы заносится в массив. То есть если там 200 есть то на этой странице есть статья\запись и т.д., а если вот так - [0] => HTTP/1.1 302 Moved Temporarily - то есть нет 200, а есть 302 то на этой странице нет записи\статьи и т.д.
И я блин не могу понять как оно понимает есть там запись или нет. Чудеса на гране фантастики и только. Я раньше с http заголовками страницы особо не сталкивался, поэтому реально не понимаю что оно там пишет и почему пишет именно то(200 например) а не это(302).
.
Screamer
ValekS, Эта функция будет работать только при условии, что ты не находишься на последней странице. Если парсить последнюю, то она вернет предпоследнюю, т.к. номер текущей страницы не находится в теге <a>
Ну и еще стоит не забывать, что кол-во страниц может меняться, например на форуме.
Всего: 116