AttributeError: у объекта 'int' нет атрибута 'text' - PullRequest
0 голосов
/ 10 июня 2018
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 и т. Д.).Но я не уверен, и при этом я не знаю, как исправить это.Любая помощь будет оценена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...