Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 13, 2013 12:30:59

nws
Зарегистрирован: 2013-09-08
Сообщения: 13
Репутация: +  0  -
Профиль  

grab, спарсить динамичный модификатор ссылок

На сайте есть дурацкая фича, модификатор этот. Выглядит примерно так: /forum/thread?=123&link_id=321&post=456.
Подскажите можно ли снять его grab'ом, если нет, то чем? Спасибо.

Отредактировано nws (Сен. 13, 2013 12:31:37)

Офлайн

#2 Сен. 13, 2013 13:44:00

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

grab, спарсить динамичный модификатор ссылок

Не понятно, что вы написали.

Офлайн

#3 Сен. 13, 2013 14:03:28

nws
Зарегистрирован: 2013-09-08
Сообщения: 13
Репутация: +  0  -
Профиль  

grab, спарсить динамичный модификатор ссылок

lorien
Не понятно, что вы написали.
Есть сайт, на нем почти всюду используется модификатор этот.
Для тех, кто не понял сути проблемы, объясню. Для идентификации посетителя на всех страницах сайта скрипт может открыть этому посетителю сессию с уникальным идентификационным номером – обычно используется случайное 32-разрядное 16-ричное число. В php идентификатор по умолчанию называется PHPSESSID. Этот идентификатор посылается посетителю в Cookie и одновременно для надежности присоединяется как параметр ко всем ссылкам на странице. Теперь, пока посетитель бродит по сайту, в ссылке передается идентификатор, если он не обнаружен в Cookie.

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

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



P.S. В куках его нету.

Отредактировано nws (Сен. 13, 2013 14:05:24)

Офлайн

#4 Сен. 13, 2013 14:18:31

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

grab, спарсить динамичный модификатор ссылок

Можно сам сайт увидеть и что нужно спарсить? А то боюсь такими темпами “динамичный модификатор ссылок” станет мемом=)



Офлайн

#5 Сен. 13, 2013 14:20:32

nws
Зарегистрирован: 2013-09-08
Сообщения: 13
Репутация: +  0  -
Профиль  

grab, спарсить динамичный модификатор ссылок

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

Офлайн

#6 Сен. 13, 2013 14:36:07

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

grab, спарсить динамичный модификатор ссылок

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



Офлайн

#7 Сен. 13, 2013 14:43:01

nws
Зарегистрирован: 2013-09-08
Сообщения: 13
Репутация: +  0  -
Профиль  

grab, спарсить динамичный модификатор ссылок

plusplus
grab.response.url
Спасибо, не знал про это.

Офлайн

#8 Сен. 13, 2013 19:08:43

lorien
От:
Зарегистрирован: 2006-08-20
Сообщения: 755
Репутация: +  37  -
Профиль  

grab, спарсить динамичный модификатор ссылок

> Спасибо, не знал про это.

Так вы доки почитайте: http://docs.grablib.org - там правда щас зоопарк, часть на русском, часть на английском.
А вообще вопросы про граб лучше в майл лист задавать: http://groups.google.com/group/python-grab

Отредактировано lorien (Сен. 13, 2013 20:26:02)

Офлайн

#9 Сен. 13, 2013 20:24:48

nws
Зарегистрирован: 2013-09-08
Сообщения: 13
Репутация: +  0  -
Профиль  

grab, спарсить динамичный модификатор ссылок

lorien
часть на русском, часть на английском
Вот в этом и проблема. Я могу обьяснить как пройти в библиотеку случайному прохожему американцу, но с техническим проблемы.

Офлайн

#10 Сен. 13, 2013 20:27:50

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

grab, спарсить динамичный модификатор ссылок

Там большая часть на русском (процентов 90). В чем проблемы то?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version