Как убрать лишний текст при выводе результата парсинга?
Изучаю парсинг сайтов на Python
. Столкнулся с проблемой. Решил спарсить данный сайт. Хочу собрать данные по типу "русское название", "место в топе" и так далее, но как только вывожу print
получаю ответ по типу:
#1 Город, в котором меня нет.
Как убрать номер из названия, если они оба указаны в span
?
А также проблема с объединением жанров. Их там несколько штук, но если использовать find_all
не выходит вывести их текстом.
Вот код который у меня получился:
from bs4 import BeautifulSoup
import requests
from selenium import webdriver
# options = webdriver.ChromeOptions()
# options.add_argument('user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36')
# try:
# driver = webdriver.Chrome(
# executable_path='C:\\Users\\1\\Desktop\\python\\chromedriver\\chromedriver.exe',
# options=options)
# driver.get(url='https://online.animedia.tv/top-100-anime')
# sleep(20)
# with open('animetop.html', 'w', encoding='utf-8') as file:
# file.write(driver.page_source)
# except Exception as ex:
# print(ex)
# finally:
# driver.close()
# driver.quit()
with open('animetop.html', encoding='utf-8') as file:
src = file.read()
soup = BeautifulSoup(src, 'lxml')
anime = soup.find('div', class_='ads-list__item').find('div', class_='ads-list__item__thumb js-postload').find('a').get('href')
anime_link = 'https://online.animedia.tv' + soup.find('div', class_='ads-list__item').find('div', class_='ads-list__item__thumb js-postload').find('a').get('href')
russian_name = soup.find('div', class_='ads-list__item').find('a', class_='h3 ads-list__item__title').text
original_name = soup.find('div', class_='ads-list__item').find('div', class_='original-title').text
tags = soup.find('div', class_='ads-list__item').find('div', class_='genre-tags').find('a')
print(tags)
Источник: Stack Overflow на русском