Дані та Інтернет
Для роботи з інформацією в мережі потрібно підключати відповідні модулі. Так, модуль socket дозволяє працювати з ІР-адресами та портами; urllib.request опрацьовує адреси веб-ресурсів, а модуль webbrowser забезпечує взаємодію із браузером.
IP та браузер
Приклад 1. Отримати ІР-адресу сервера сайту
При роботі з веб-ресурсами часто виникають помилки - через помилкові написання адрес, чи недоступність у певний момент бажаного сервера. Тому варто застосовувати перевірку винятків, яка полягає у тому, що в програмі передбачено дії для невдалого виконання операцій:
спробуватинадрукувати
якщо не вдалось
надрукувати помилку
Приклад 2. Обробка винятків
Приклад 3. Отримати файл з Інтернету (надрукувати на екрані його вміст)
Приклад 4. Скачати файл
Зверніть увагу, що дані отримуються у двійковому форматі типу bytes. Якщо файл зберегти та відкрити у режимі "r", дані можна зчитувати у звичайному текстовому режимі.Приклад 5. Запустити браузер
Приклад 6. Відкрити сторінку сайту в браузері. Якщо такої сторінки немає, вивести повідомлення про помилку
Запит GET
Запити до сторінок поділяються на два типи: GET та POST. Метод get застосовується для передачі невеликих текстових даних та пошуку на сайті. В такому разі зазвичай у рядку адреси відбуваються зміни і можна побачити доданий знак питання з подальшими символами: https://www.google.com.ua/search?q=python (у даному випадку пошуковим словом є python). Метод post використовується для пересилки файлів, коментарів, додавання повідомлень на форумах тощо. Адреса у відповідному рядку браузера не змінюється, запит передається у більш захищеному режимі. У Python дуже просто реалізовувати запити get .Приклад 7. Внести дані у запит та відкрити браузер з результатами пошуку
Приклад 8. Пошук у Вікіпедії: статті, назва яких починаються на слово india. Результат зберігається у файлі
Приклад. http://api.open-notify.org/astros.json - інформація про міжнародну космічну станцію (зокрема кількість та перелік космонавтів на орбіті)
Коли станція пройде над певною локацією: http://api.open-notify.org/iss-pass.json?lat=51.51&lon=-0.13
Щоб перевести число з цілого у дату, можна скористатись модулем datetime:
import datetime
дата=datetime.datetime.fromtimestamp( число )
При роботі з онлайновими даними, слід пам'ятати, що велика кількість запитів на сервер з одного комп'ютера може класифікуватися як DDoS атака:
Завдання. Дізнавшись ІР адресу сайту, скористайтесь сервісами з розділу Геокодування https://github.com/toddmotto/public-apis#geocoding, щоб дізнатись місце розташування сервера з цим сайтом (Наприклад, https://ip2country.info/)
Завдання. З'ясуйте погоду в Києві, Лондоні, Нью-Йорку та Лос-Анжелесі https://github.com/toddmotto/public-apis#weather (Наприклад, https://www.metaweather.com/api/)
Завдання. З'ясуйте перелік свят в Україні та США, і які з вихідних є спільними https://date.nager.at/
Збірка відкритих АРІ https://github.com/toddmotto/public-apis
Web Scrapping с помощью python https://habrahabr.ru/post/280238/
Дані CERN
https://github.com/cms-opendata-education