Форум сайта python.su
На сайте есть дурацкая фича, модификатор этот. Выглядит примерно так: /forum/thread?=123&link_id=321&post=456.
Подскажите можно ли снять его grab'ом, если нет, то чем? Спасибо.
Отредактировано nws (Сен. 13, 2013 12:31:37)
Офлайн
Не понятно, что вы написали.
Офлайн
lorienЕсть сайт, на нем почти всюду используется модификатор этот.
Не понятно, что вы написали.
Для тех, кто не понял сути проблемы, объясню. Для идентификации посетителя на всех страницах сайта скрипт может открыть этому посетителю сессию с уникальным идентификационным номером – обычно используется случайное 32-разрядное 16-ричное число. В php идентификатор по умолчанию называется PHPSESSID. Этот идентификатор посылается посетителю в Cookie и одновременно для надежности присоединяется как параметр ко всем ссылкам на странице. Теперь, пока посетитель бродит по сайту, в ссылке передается идентификатор, если он не обнаружен в Cookie.Подробнее тут.
Но это параметр, наличие которого не меняет содержание страницы. И каждый идентификатор уникален. Мы получаем возможность индексирования поисковыми системами астрономического числа одинаковых страниц с разными уникальными URL. Скрипт не различает посетителей и поисковому роботу по запросу будет также выдана страница с уникальным параметром в ссылках. Причем, каждый визит робота по ссылке без идентификатора будет вызывать выдачу ему нового идентификатора и нового комплекта «уникальных» ссылок. В индексе поисковой системы накапливается множество дубликатов страниц и конца этому не видно…
Отредактировано nws (Сен. 13, 2013 14:05:24)
Офлайн
Можно сам сайт увидеть и что нужно спарсить? А то боюсь такими темпами “динамичный модификатор ссылок” станет мемом=)
Офлайн
plusplushttp://goo.gl/m7YB
Можно сам сайт увидеть и что нужно спарсить? А то боюсь такими темпами “динамичный модификатор ссылок” станет мемом
Офлайн
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) # и т.д.
Офлайн
plusplusСпасибо, не знал про это.
grab.response.url
Офлайн
> Спасибо, не знал про это.
Так вы доки почитайте: http://docs.grablib.org - там правда щас зоопарк, часть на русском, часть на английском.
А вообще вопросы про граб лучше в майл лист задавать: http://groups.google.com/group/python-grab
Отредактировано lorien (Сен. 13, 2013 20:26:02)
Офлайн
lorienВот в этом и проблема. Я могу обьяснить как пройти в библиотеку случайному прохожему американцу, но с техническим проблемы.
часть на русском, часть на английском
Офлайн
Там большая часть на русском (процентов 90). В чем проблемы то?
Офлайн