Я использую этот скребок для обзоров Amazon, который нашел на Github: https://github.com/philipperemy/amazon-reviews-scraper
for review in reviews_list:
rating = review.find(attrs={'data-hook': 'review-star-rating'}).attrs['class'][2].split('-')[-1]
body = review.find(attrs={'data-hook': 'review-body'}).text
date = review.find(attrs={'data-hook': 'review-date'}).text
title = review.find(attrs={'data-hook': 'review-title'}).text
logging.info('***********************************************')
logging.info(title)
logging.info(date)
logging.info(rating)
logging.info(body)
logging.info('***********************************************\n')
reviews.append({'title': title,
'rating': rating,
'body': body,
'product_id': product_id
})
return reviews
Я хочу, чтобы эти результаты были отправлены в файл CSV. Но я только начинающий с Python, поэтому я не совсем уверен. Я использую Python в Windows.
С помощью Акшата я получил это, но не уверен, что это правильно:
for review in reviews_list:
rating = review.find(attrs={'data-hook': 'review-star-rating'}).attrs['class'][2].split('-')[-1]
body = review.find(attrs={'data-hook': 'review-body'}).text
date = review.find(attrs={'data-hook': 'review-date'}).text
title = review.find(attrs={'data-hook': 'review-title'}).text
from csv import DictWriter
with open('results.csv', 'w') as csvfile:
fieldnames = ['title', 'date', 'rating', 'body']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for review in reviews:
writer.writerow(review)