Парсер курса доллара на Python

  • Автор темы Admin

Admin

#1
Администратор
Регистрация
31.12.2019
Сообщения
7,569
Реакции
36
Парсер - это программа которая собирает данные с интернета, анализирует их и выдает в нужном формате.
В этом уроке мы напишем парсер, который будет отслеживать курс доллара. Использовать будем python (один из лучших языков программирования для работы с информацией).


Для начала нужно скачать библиотеки (введите код ниже в коммандной строке)


Код:
pip install requests
pip install bs4




requests - библиотека для получения кода веб сайта (информация о курсе есть в коде веб страницы)
bs4 - библиотека для работы с HTML, CSS кодом (с помощью него мы будем искать в коде нужную нам информацию)




Создаём файл dollar.py (можете назвать его по-другому) и имртируем все нужные библиотеки:
Код:
import requests
from bs4 import BeautifulSoup




Парсить будем с сайта investing.com, поэтому нужно сохранить URL страницы с курсом доллара (https://ru.investing.com/currencies/usd-rub) в виде переменной
Код:
# import ...


URL = 'https://ru.investing.com/currencies/rub-usd'




Также сначала нужно узнать свой User Agent. Просто введите в google "my user agent" и скопируйте строку в переменную:
Код:
# import ...
# URL ...


HEADERS = {'user-agent' : '*ваш user agent*'}




Теперь нам нужно получить код страницы:
Код:
# ...


page = requests.get (URL, headers = HEADERS)




Переходим на сайт и нажимаем Ctrl+Shift+I. Теперь мы видим код страницы прямо в браузере. Нажимаем на кнопку слева сверху (для выбора элемента на странице) и выбираем текст с курсом доллара (если мы будем знать, где в коде находится текст с курсом доллара, мы можем каждый раз обращаться к этой части кода и выводить этот текст). Узнаём, что курс храниться в теге с id равным "late-late". Теперь создадим переменную soup, чтобы найти тег с нужным нам id:
Код:
# ...


# page.content - код страницы


soup = BeautifulSoup (page.content, 'html.parser')


currency = soup.find (id = 'late-late') # находим тег с id 'late-late' (в этом теге хранится курс доллара)


print (currency.text) # выводим текст, хранящийся в этом теге




Вот весь код парсера:
Код:
import requests
from bs4 import BeautifulSoup


URL = 'https://ru.investing.com/currencies/usd-rub'
HEADERS = {'user-agent' : '*ваш user agent*'}


page = requests.get (URL, headers = HEADERS)
soup = BeautifulSoup (page.content, 'html.parser')


currency = soup.find (id = 'late-late').text


print (currency)

Автор: TheG00dMan
 

Members, viewing this thread

Сейчас на форуме нет ни одного пользователя.