2010-10-30 5 views
0

Есть ли способ вызвать идентификаторы фрагментов из python? В настоящее время я использую механизатор python.любой способ вызывать идентификаторы фрагментов '#' в python

+1

Не могли бы вы объяснить более четко, что вы пытаетесь сделать? –

+3

Что вы подразумеваете под «invoke fragment identifier»? – sth

+0

@Rafe Kettler и @sth: проверьте этот ответ http://stackoverflow.com/questions/3798422/why-urllib2-urlopen-can-not-open-pages-like-http-localhost-new-postcomment-29. «Фрагмент» в этом контексте выглядит как «# blah-blah-blah», зависающий от конца URL-адреса. Идея состоит в том, чтобы перемещаться по странице. Я собираюсь собрать этот материал в этот момент. – hughdbrown

ответ

3

Я думаю, что это earlier question держит ваш ответ:

В протоколе HTTP, фрагмент (от # года) не отправляется на сервер по сети: это локально сохраняется в браузере и используется, когда ответ сервера будет полностью получен, как-то «визуально найти» точное место на странице, чтобы быть показано как «текущий» (например, если возвращаемой страница в HTML, это будет выполняется путем разбора HTML и ищет первый подходящий флаг ).

И рекомендация Алекс Мартелли для действий также имеет:

Таким образом, процедура: удалить фрагмент, например, через urlparse.urlparse; используйте остальные, чтобы получить ресурс; проанализировать его соответствующим образом на основе заголовка ответа сервера ответа ; затем принять все визуальное действие программа делает относительно «текущее пятна» на ресурсе, на основе размещая в разобранном ресурсе фрагмента вы сохранили в первом шаге.