Проблема сохранения результатов в Excel

from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd

html=urlopen("https://www.sunnytoy.ru/shop/25/")
bs=BeautifulSoup(html,'html.parser')

name_doma=bs.find_all('span',{'itemprop':'name'})[3:]
price_doma=bs.find_all('div',class_='price')[1:]


for z,v in zip(name_doma, price_doma):
print(z.getText(),v.getText())

exel=pd.DataFrame(name_doma,price_doma)
exel.to_excel('./teams.xlsx')

Я пытаюсь сохранить результаты парсинга в Exel, но price_doma в Exel книги сохраняется со всеми лишними тегами. Название name_doma передается в Exel файл верно без лишних тегов. И еще хотелось бы понять, как прописать название колонок Например первый столбец Название Домов а второй Цена домов. введите сюда описание изображения


Ответы (1 шт):

Автор решения: Oopss

У вас там опечатка, вы выводите только текст print(z.getText(),v.getText()), а в файл записываете все вместе с тегами exel=pd.DataFrame(name_doma,price_doma). Думаю тут pandas перебор, но может далее идет какая-то обработка, тогда может быть уместно.

from urllib.request import urlopen
from bs4 import BeautifulSoup
import pandas as pd

html=urlopen("https://www.sunnytoy.ru/shop/25/")
bs=BeautifulSoup(html,'html.parser')

name_doma=bs.find_all('span',{'itemprop':'name'})[3:]
price_doma=bs.find_all('div',class_='price')[1:]

nd=[]
prd=[]
for z,v in zip(name_doma, price_doma):
    nd.append(z.getText())
    prd.append(v.getText())

exel=pd.DataFrame()
exel['Name']=nd
exel['Price']=prd
exel.to_excel('teams.xlsx',index=False)
→ Ссылка