Дело было вечером, делать было нечего. Значит самое время начать пробовать себя в парсинге вэба. Всё было бы хорошо, но на глаза попалась библиотека webbrowser которая умеет открывать по запросу браузер. В общем захотелось и её попробовать.
Но, и парсить тоже хочется. Значит я придумал такую штуку:
1 - Проверяем работает ли сайт. Отправляем запрос и получаем ответ в виде кода.
2 - Если код нам не знаком, программка предлагает открыть сайт с расшифровкой данного кода.
Всё, больше ничего. Функционал так себе. Но, есть возможность начать базовое ознакомление с библиотекой request и так же поиграться с библиотекой webbrowser.
Импортируем нужные библиотеки:
import requests
import webbrowser
Документации: requests и webbrowser
Дальше зададим адрес сайта от которого хотим получить ответ и напишем функцию которая будет выдавать Статус Код:
url = "https://www.zlomorda.net/"
def httpRequest():
""" Функция обращается по адресу
и печатает Статус Код
"""
# Отправка запроса по адресу
http_answer = requests.get(url)
# Получам только номер кода
http_status_code = http_answer.status_code
print("Код ответа {}".format(http_status_code))
Дальше напишем функцию которая собирает адрес сайта с расшифровкой кода и открывает его в браузере:
def statusCodeHelper(status_code):
""" Функция пытается найти страницу с определённым кодам
для расшифровки. Если страница не найдена, то открывается
страница с общими данными по кодам статуса.
"""
user_answer = input("Для информации нажмите ENTER ")
if user_answer == "":
# Если был нажат ENTER, тогда программка созда линк на страницу с данным кодом
url = "https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/" + \
str(status_code)
# Проверка статуса данного линка
http_answer = requests.get(url)
http_status_code = http_answer.status_code
# Если такой страницы нет, откроется общая страница по кодам статуса
# Если такая страница есть, тогда программка откроет её в браузере
if http_status_code == 404:
webbrowser.open(
"https://www.tutorialspoint.com/http/http_status_codes.htm", new=2)
else:
webbrowser.open(url, new=2)
Может получится так, что по соборному адресу ничего нет (код 404), в таком случае откроется страница с общими описаниями кодов статуса. А если такая страница есть, то программка её откроет.
Конечно, здесь хватает дыр и недочетов, но суть была в другом... просто попробовать, и оно получилось. А это значит, что можно двигаться дальше.
Полный код на моём GitHub-e.
Всем удачи!!
Комментариев нет:
Отправить комментарий