AttributeError:'int'对象没有属性'text'

时间:2018-06-10 11:42:25

标签: python python-3.x web-crawler

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等)。但我不确定,也不知道如何纠正它。任何帮助,将不胜感激。

0 个答案:

没有答案