2014-11-19 4 views
4

Не уверен, если я буду иметь смысл или нет, но здесь. В Google chrome, если вы щелкнете правой кнопкой страницу и перейдите к ресурсам, а затем обновите страницу, вы увидите, как все методы GET/POST появляются, когда они происходят. Я хочу знать, есть ли способ на python, чтобы ввести URL-адрес и заставить его генерировать список каждого вызова для вызова (не обязательно, если это возможно)Как отслеживать методы GET URL-адреса?

Хотелось бы найти какое-то направление!
Thanks

ответ

1

Я считаю, что могу прояснить части вашего исходного вопроса.

С одной стороны, используя встроенные в браузер средства отладки для исследования поведения определенного веб-сайта при загрузке браузером, является хорошей техникой и нелегко заменяется специальным кодом.

С другой стороны, похоже, что вы ищете HTML-парсер, такой как BeautifulSoup.

Кроме того, вы, кажется, путаете смысл URL-адреса и HTML-документа. URL может указывает на документ HTML, но во многих случаях он указывает на другие вещи, такие как конечная точка JSON-API.

Предполагая, что вы на самом деле хотел спросить, как «для ввода URL в HTML-документ и он генерирует список каждого удаленного вызова ресурсов браузер будет выполнять»:

Перед вынесением веб-сайт, веб браузер отключает первоначальный запрос HTTP GET и извлекает основной документ HTML. Он анализирует этот документ и, в частности, ищет дополнительные ресурсы для извлечения. Такими ресурсами могут быть файлы CSS, файлы JavaScript, изображения, iframes, ... (длинный список). Если он найдет такие ресурсы, браузер автоматически отключит один HTTP-запрос GET для каждого из этих ресурсов. Как вы можете видеть, есть довольно много работы и происходит за кулисами, прежде чем все эти запросы выполняются вашим браузером.

В Python вы не можете тривиально моделировать поведение вашего браузера. Вы можете легко получить один документ HTML через модуль urllib или requests. То есть вы можете вручную отключить один HTTP-запрос GET для извлечения HTML-документа. Репликация поведение браузера затем потребуется

  • для разбора HTML-документ таким же образом, браузер делает,
  • искать документ для удаленных источников, таких как изображения, CSS файлов, ....,
  • , чтобы решить, какие удаленные ресурсы для запроса, в каком порядке, и
  • затем выстрелить еще более HTTP GET запросов, и, возможно, рекурсивно повторить весь процесс (как требовалось бы для фреймов)

Точная репликация поведения браузера слишком сложна. Построение надлежащего веб-браузера является неотъемлемой трудной задачей.

То есть, если вы хотите понять поведение веб-сайта в браузере, используйте инструменты отладки браузера.

+0

Благодарим за ответ. Это объясняет мне многое, что я не знал.Причина, по которой я задал этот вопрос, в первую очередь заключается в том, что я пытаюсь выяснить способ загрузки общедоступных видеороликов facebook с помощью python. И способ, которым я объяснял, - это единственный способ, которым я знаю, как это сделать вручную, и я как бы надеялся автоматизировать его. Я не уверен, что вы знаете лучший способ? Мне не нужно делать это для одного видео кстати, я бы использовал сервис. Я делаю это, поэтому я могу использовать python для его загрузки. – Johnny

+0

@ Джонни, действительно, то, что вы хотите, достижимо и обычно подпадает под термин «веб-скребок». Вы должны научиться анализировать HTML-документ с помощью BeautifulSoup (связанный в ответе). Тогда вы, возможно, сможете извлекать URL-адреса для видео, а затем загружать их. Это будет сложно, если задействован Flash-видеоплеер, потому что URL-адрес обычно скрыт или видео доступно только в потоковом формате. В последнем случае доступны другие технологии для автоматического получения видеоданных. Google - ваш друг :-). –

+1

Нашел, просто использовал Facebook GraphAPI, и он сработал. Просто нужно было использовать источник haha ​​ http://stackoverflow.com/questions/8642579/how-can-i-download-a-video-from-facebook-using-graphapi – Johnny