Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 25, 2017 18:13:57

Resistanse
Зарегистрирован: 2017-08-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?

Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?
Возможно ли Request url(с него подгружаются дополнительная информация на сайт) после запроса на необходимую страницу?Если возможно,то буду рад если дадите наводку. На скрине отметил что конкретно я имею ввиду.

Прикреплённый файлы:
attachment request.PNG (45,9 KБ)

Офлайн

#2 Ноя. 25, 2017 18:20:06

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?

Resistanse
Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?
Получите страницу и распарсите её получив теги нужных ссылок и извлеките сорс. В чем конкретно вопрос то? Вы вообще понимаете, что происходит при загрузке страницы?



Офлайн

#3 Ноя. 25, 2017 18:26:24

Resistanse
Зарегистрирован: 2017-08-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?

FishHook
Я все понимаю.Мне нужна именно эта ссылка. Распарсить не получится, т.к. там html выводится автоматически через javascript.

Прикреплённый файлы:
attachment scr.PNG (31,5 KБ)

Офлайн

#4 Ноя. 25, 2017 19:05:08

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?

Resistanse
Я все понимаю.
А я - ни черта не понимаю. Вы прислали не HTML, а шаблон страницы для некоего шаблонизатора. Зачем вам парсить собственную страницу?



Офлайн

#5 Ноя. 26, 2017 00:07:12

papuas
Зарегистрирован: 2015-06-19
Сообщения: 159
Репутация: +  6  -
Профиль   Отправить e-mail  

Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?

 import requests
from lxml import html
r = requests.get('http://google.com')
google = html.fromstring(r.content)
print(google.xpath('//a/@href'))


 ['http://www.google.com/imghp?hl=en&tab=wi',
 'http://maps.google.com/maps?hl=en&tab=wl',
 'https://play.google.com/?hl=en&tab=w8',
 'http://www.youtube.com/?gl=US&tab=w1',
 'http://news.google.com/nwshp?hl=en&tab=wn',
 'https://mail.google.com/mail/?tab=wm',
 'https://drive.google.com/?tab=wo',
 'https://www.google.com/intl/en/options/',
 'http://www.google.com/history/optout?hl=en',
 '/preferences?hl=en',
 'https://accounts.google.com/ServiceLogin?hl=en&passive=true&continue=http://www.google.com/',
 '/advanced_search?hl=en&authuser=0',
 '/language_tools?hl=en&authuser=0',
 '/intl/en/ads/', '/services/',
 'https://plus.google.com/116899029375914044550',
 '/intl/en/about.html',
 '/intl/en/policies/privacy/',
 '/intl/en/policies/terms/']

Отредактировано papuas (Ноя. 26, 2017 00:11:00)

Офлайн

#6 Ноя. 26, 2017 03:03:02

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?

Resistanse
Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?
На странице может и не быть какого-то участка кода вообще. При загрузке скрипт, записанный в html-странице, заставляет браузер добавить какое-то размеченное содержимое в документ. Причём этот документ уже загружен в оперативную память браузера. Добавление кода через скрипт содержимое скачанной html-страницы никак не меняет и никак к ней не относится уже. Скачанная страница используется только один раз - чтобы построить документ в памяти и загрузить содержимое самих скриптов. А скрипты уже выполняются браузером и работают с этой памятью.

Питон же загружает только саму html-страницу и не выполняет из неё ничего, ничего не строит. Поэтому скрипты из этой страницы ничего не могут добавить в документ, потому что как они не выполняются питоном, так и документ просто не построен в памяти.

Представь просто, что ты загружаешь страницу, у которой тег body есть, но при этом он пустой. В этой странице есть скрипт на JavaScript, который в тег body добавляет тег form с полями и кнопками. Дальше ты видишь просто, что документ загрузился и в нём есть одна форма, которую можно заполнить и отправить. Ты никак не заметишь, что формы нет в самой странице. Она очень быстро добавилась прямо в дерево документа, построенное в оперативной памяти браузера. Её браузер добавил на лету. При этом в браузере страница выглядит неотличимо, будто форма записана прямо в странице. И вот эта форма, когда ты её отправляешь, превращается в запрос браузера.

Так что тебе надо выполнить скрипты на построенном дереве. Питон дерево не строит, а скачивает только содержимое страницы. А чтобы сделать из питона браузер, используют Selenium. Сам Selenium медленный и его не используют для самих программ, обычно только для тестирования.



Отредактировано py.user.next (Ноя. 26, 2017 03:07:27)

Офлайн

#7 Ноя. 26, 2017 10:01:21

Resistanse
Зарегистрирован: 2017-08-26
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Возможно ли получить ссылки, на которые идут запросы при загрузке страницы?

Спасибо всем за ответы,вчера нашел альтернативное решение проблемы

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version