Найти - Пользователи
Полная версия: grab, спарсить динамичный модификатор ссылок
Начало » Data Mining » grab, спарсить динамичный модификатор ссылок
1 2
nws
На сайте есть дурацкая фича, модификатор этот. Выглядит примерно так: /forum/thread?=123&link_id=321&post=456.
Подскажите можно ли снять его grab'ом, если нет, то чем? Спасибо.
lorien
Не понятно, что вы написали.
nws
lorien
Не понятно, что вы написали.
Есть сайт, на нем почти всюду используется модификатор этот.
Для тех, кто не понял сути проблемы, объясню. Для идентификации посетителя на всех страницах сайта скрипт может открыть этому посетителю сессию с уникальным идентификационным номером – обычно используется случайное 32-разрядное 16-ричное число. В php идентификатор по умолчанию называется PHPSESSID. Этот идентификатор посылается посетителю в Cookie и одновременно для надежности присоединяется как параметр ко всем ссылкам на странице. Теперь, пока посетитель бродит по сайту, в ссылке передается идентификатор, если он не обнаружен в Cookie.

Но это параметр, наличие которого не меняет содержание страницы. И каждый идентификатор уникален. Мы получаем возможность индексирования поисковыми системами астрономического числа одинаковых страниц с разными уникальными URL. Скрипт не различает посетителей и поисковому роботу по запросу будет также выдана страница с уникальным параметром в ссылках. Причем, каждый визит робота по ссылке без идентификатора будет вызывать выдачу ему нового идентификатора и нового комплекта «уникальных» ссылок. В индексе поисковой системы накапливается множество дубликатов страниц и конца этому не видно…
Подробнее тут.

Без него, допустим идти /forum/thread?=123&post=456, перекидывает на главную. Числа постоянно меняются, нужно чем-то извлекать и вставлять в следующую ссылку.



P.S. В куках его нету.
plusplus
Можно сам сайт увидеть и что нужно спарсить? А то боюсь такими темпами “динамичный модификатор ссылок” станет мемом=)
nws
plusplus
Можно сам сайт увидеть и что нужно спарсить? А то боюсь такими темпами “динамичный модификатор ссылок” станет мемом
http://goo.gl/m7YB
Назвал как в голову пришло
plusplus
nws
http://goo.gl/m7YB
Назвал как в голову пришло

А что нужно сделать то? Если спарсить контент, то ищем ссылку по признаку и переходим по ней, например так:
from grab import Grab
g = Grab()
g.go('http://spaces.ru/')
forum_url = g.doc.select('//a[contains(@href, "forum")]/@href').text()
g.go(forum_url)
# и т.д.

Если нужен link_id (не знаю только зачем он может быть нужен), то вырезаем его из grab.response.url
nws
plusplus
grab.response.url
Спасибо, не знал про это.
lorien
> Спасибо, не знал про это.

Так вы доки почитайте: http://docs.grablib.org - там правда щас зоопарк, часть на русском, часть на английском.
А вообще вопросы про граб лучше в майл лист задавать: http://groups.google.com/group/python-grab
nws
lorien
часть на русском, часть на английском
Вот в этом и проблема. Я могу обьяснить как пройти в библиотеку случайному прохожему американцу, но с техническим проблемы.
4kpt
Там большая часть на русском (процентов 90). В чем проблемы то?
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB