Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Доступ к веб-данным с urllib в Python: практическое руководство

Доступ к веб-данным с urllib в Python

Что такое urllib?

urllib — встроенный модуль Python, упрощающий открытие URL и работу с веб-ресурсами. Он предоставляет функции и классы для получения, парсинга и обработки URL, позволяя разработчикам забирать XML, HTML, JSON и другие форматы данных прямо из интернета.

В этом туториале мы покажем, как использовать urllib для:

Открытие URL с urllib

Перед любым сетевым запросом импортируйте соответствующий модуль urllib:

import urllib.request  # Python 3
# import urllib2       # Python 2 (устарел в новых релизах)

Определите главную функцию, укажите целевой URL и откройте соединение с urlopen(). В качестве примера используем YouTube-канал Guru99:

def main():
    url = urllib.request.urlopen("https://www.youtube.com/user/guru99com")
    print("result code: " + str(url.getcode()))
    data = url.read()
    print(data.decode('utf-8'))
if __name__ == "__main__":
    main()

Метод getcode() возвращает HTTP-статус код (например, 200 для успеха). Метод read() получает сырые байты страницы, которые мы декодируем в UTF-8 для читаемости.

Чтение HTML-контента

После открытия URL можно извлечь HTML, просто вызвав read(). Полученные байты представляют весь HTML-документ, который затем можно парсить библиотеками вроде BeautifulSoup или отображать напрямую.

Ниже — визуальный пример декодированного HTML-вывода в консоли:

Доступ к веб-данным с urllib в Python: практическое руководство

Полные примеры кода

Для справки ниже приведены полные скрипты для сред Python 2 и Python 3.

Пример для Python 2

import urllib2
def main():
    web_url = urllib2.urlopen("https://www.youtube.com/user/guru99com")
    print("result code: " + str(web_url.getcode()))
    data = web_url.read()
    print(data)
if __name__ == "__main__":
    main()

Пример для Python 3

import urllib.request
web_url = urllib.request.urlopen('https://www.youtube.com/user/guru99com')
print('result code: ' + str(web_url.getcode()))
print(web_url.read().decode('utf-8'))

Python

  1. Навигация в SaaS и облаке: почему тщательное управление данными критично
  2. Ключевые слова и идентификаторы в Python: мастерство зарезервированных слов и соглашений об именовании
  3. Операторы, отступы и комментарии в Python: понятное руководство
  4. Переменные, константы и литералы в Python — подробное руководство
  5. Освоение типов данных в Python: практическое руководство
  6. Мастерство преобразования типов в Python: Полное руководство
  7. Мастерство ввода-вывода и импорта модулей в Python: Практическое руководство
  8. Глобальные, локальные и nonlocal переменные в Python: понимание и применение
  9. Управление директориями и файлами в Python: полное руководство
  10. Ошибки и встроенные исключения в Python: полное руководство