Прежде чем приступить к кодированию, нам нужно убедиться, что в нашей системе есть следующие библиотеки — если они не установлены —
Установка библиотек
запросы на установку pip
pip install beautifulsoup4
pip install openpyxl
Импорт библиотек
Мы использовали библиотеку requests для получения доступа к URL-адресу, BeautifulSoup для перехода на веб-сайт и извлечения данных и openpyxl для импорта сгенерированных данных в наша локальная машина.
import requests from bs4 import BeautifulSoup import openpyxl
Получение URL и получение данных
url=requests.get("https://www.imdb.com/chart/toptv") print(url) soup=BeautifulSoup(url.text,'html.parser') print(soup)
Мы извлекли данные с заданного URL и использовали 'html.parser' .
Извлечение данных
Теперь мы будем использовать find() и find_all() для извлечения необходимых данных.
tv_shows=soup.find('tbody', class_="lister-list").find_all('tr') tv_shows
Мы выполним цикл ForLoop для получения нужного столбца.
for i in tv_shows: rank=i.find('td',class_="titleColumn").get_text(strip=True)[0] name=i.find('td',class_="titleColumn").a.text rating=i.find('td',class_="ratingColumn imdbRating").strong.text year=i.find('td',class_="titleColumn").span.text.strip('()') print(rank,name,rating,year) sheet.append([rank,name,rating,year])
Пример вывода
Сохранение сгенерированных данных в формате Excel при сохранении на локальном компьютере
используя openpyxl, мы добьемся этого
excel=openpyxl.Workbook() print(excel.sheetnames) sheet=excel.active sheet.title='Top Rated 250 TV-Shows' print(sheet.title) sheet.append(['Rank','Title','Rating','Year']) excel.save('IMDB Top 250 TV Shows.xlxs')
Вот и все
Последние мысли
Я надеюсь, что вы найдете эту статью полезной и она того стоила. Не стесняйтесь поделиться этой статьей со своими друзьями-программистами.
Удачного программирования!