import urllib3
from bs4 import BeautifulSoup
import certifi
import csv
import os
#to iterate through the .txt files
for filename in os.listdir('ecom-companies/'):
if filename.endswith('.txt'):
f = open('ecom-companies/'+ filename, 'r')
contents = f.read()
soup = BeautifulSoup(contents,'html.parser')
for i in soup.find('div',{'class':'spotlight-product-info half-margin-bottom','data-product-type':'B'}):
companyName = i.find('h1').text.strip()
ovrRating = i.find('span',{'itemprop':'ratingValue'}).text.strip()
reviewsCount = i.find('span',{'itemprop':'reviewCount'}).text.strip()
with open('ecom_main.csv','a') as outputfile:
outputfile.write(companyName+','+ovrRating+','+reviewsCount)
Я хочу сканировать веб-сайт, удалять данные и сохранять их в CSV-файле.Я сохранил проанализированный html-ответ всех страниц, которые хочу сканировать, в каталоге «ecom-companies» в виде файлов .txt.Я запустил приведенный выше код и получил ошибку «AttributeError:« int »объект не имеет атрибута« text ».Я предполагаю, что это потому, что есть имена файлов, которые содержат целые числа (например: 1AutomationWiz.txt, 3Dsellers.txt и т. Д.).Но я не уверен, и при этом я не знаю, как исправить это.Любая помощь будет оценена.