Этот учебник показывает, как выполнить простые Http get запросы Чтобы получить HTML-страницу из данного URL в Python!
Постановка проблемы
Учитывая URL как строка. Как извлечь HTML из данного URL и сохранить результат в строке Python?
Пример : Скажем, вы хотите выполнить следующее:
url = 'https://google.com' # ... Code to extract HTML page here ... print(result) # ... Google HTML file: '''
Давайте изучим четыре наиболее важных метода для доступа к веб-сайту в вашем сценарии Python!
Способ 1: requests.get (URL)
Простейшее решение следующее:
import requests print(requests.get(url = 'https://google.com').text)
Вот как этот одноклассник работает:
- Импортируйте библиотеку Python
Запросы
Это обрабатывает детали запроса веб-сайтов с сервера в формате простого в процессе. - Используйте
requests.get (...)
Способ доступа к веб-сайту и пройти URL'https://google.com'
в качестве аргумента, так что функция знает, какое место для доступа. - Доступ к фактическому телу получить
Запрос
(Возвращаемое значение – это объект запроса, который также содержит некоторую полезную метаную информацию, такую как тип файла и т. Д.). - Печать результат в оболочку.
Выход – это желаемый сайт Google:
'''
Обратите внимание, что вам может придеться установить библиотеку запросов со следующей командой в терминале операционной системы:
$ pip install requests
Метод 2: одноклассник с запросом. Get ()
Иногда вы не хотите открывать интерактивный сеанс Python для доступа к URL. Нет проблем, вы можете сделать предыдущее решение одним вкладышем и запустить его из вашей операционной системы командной строки или терминала.
Обратите внимание, что точка запятой используется для односилизащитного ранее обсуждаемого метода. Это полезно, если вы хотите запустить эту команду из своей операционной системы со следующей командой:
python -r "import requests; print(requests.get(url = 'https://google.com').text)"
Выход, опять же, является желаемым Google HTML-страницей:
'''
Метод 3: Urllib.request
Рекомендуемый путь к Получить веб-ресурсы С сайта это Urllib.request ()
функция. Это также работает для создания простого одноклассника для доступа к веб-сайту Google в Python 3, как и раньше:
import urllib.request as r page = r.urlopen('https://google.com') print(page.read())
Опять же, вы возвращаете Запрос
Объект, который можно получить доступ к чтению ответа сервера.
Обратите внимание, что это гласит файл как Байтовая строка Отказ Если вы хотите прочитать HTML-файл как строку, вам нужно преобразовать результат с помощью Python’s декодировать ()
Метод:
import urllib.request as r page = r.urlopen('https://google.com') print(page.read().decode('utf8'))
Вот вывод этого фрагмента кода с большим количеством содержимого HTML, опущенным для краткости.
...
Метод 4: одноклассник с Urllib.request
Вы также можете покрасить все в одну строку, чтобы вы могли запустить его с терминала вашего ОС:
python -r "import urllib.request as r; print(r.urlopen('https://google.com').read())"
Попробуй сам
Вы можете попробовать методы 1 и 3 самостоятельно в нашей интерактивной ноутбуке Jupyter с вашим нужным URL-адресом веб-сайта:
Чтобы повысить свои навыки в Python, не стесняйтесь проверить самую всеобъемлющую в мире академию Python Email и скачать свои читы Python здесь:
Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.
Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.
Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.