Я новичок в очистке и застрял на очистке веб-страницы, содержащей некоторые цитаты, которые я хочу извлечь.
Не могли бы вы также проверить код для копирования очищенных данных в файл CSV?
import requests
from bs4 import BeautifulSoup
import csv
URL = "http://www.values.com/inspirational-quotes"
r = requests.get(URL)
soup = BeautifulSoup(r.content, 'html5lib')
quotes=[] # a list to store quotes
table = soup.find('div', attrs = {'id':'container'})
for row in table.findAll('div', attrs = {'class':'quote'}):
quote = {}
quote['theme'] = row.h5.text
quote['url'] = row.a['href']
quote['img'] = row.img['src']
quote['lines'] = row.h6.text
quote['author'] = row.p.text
quotes.append(quote)
filename = 'inspirational_quotes.csv'
with open(filename, 'wb') as f:
w = csv.DictWriter(f,['theme','url','img','lines','author'])
w.writeheader()
for quote in quotes:
w.writerow(quote)
Я получаю сообщение об ошибке в функции "findAll"
.
for row in table.findAll('div', attrs = {'class':'quote'}):
AttributeError: 'NoneType' object has no attribute 'findAll