codeFlowType:
codeWrite
codeFlowLang:
Python
Парсер на питон для парсинга отзывов с сайта https://www.trustpilot.com/review и импорт их в бд wordpress
Создание парсера для отзывов с сайта Trustpilot и их импорт в базу данных WordPress требует использования нескольких библиотек. Вот пример кода на Python, использующий requests
, BeautifulSoup
, pandas
и mysql-connector
. Пожалуйста, убедитесь, что у вас установлены необходимые библиотеки, прежде чем запускать код.
pip install requests beautifulsoup4 pandas mysql-connector-python
import requests
from bs4 import BeautifulSoup
import mysql.connector
# Настройки для подключения к базе данных WordPress
db_config = {
'host': 'localhost',
'user': 'username', # замените на ваше имя пользователя
'password': 'password', # замените на ваш пароль
'database': 'wordpress_db' # замените на имя вашей базы данных
}
# Функция для подключения к базе данных
def connect_to_db():
return mysql.connector.connect(**db_config)
# Функция для парсинга отзывов
def parse_reviews(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
reviews = []
for review in soup.find_all('div', class_='review'): # Убедитесь, что вы используете правильный класс
title = review.find('h2').text.strip() if review.find('h2') else 'Без заголовка'
content = review.find('p').text.strip() if review.find('p') else 'Нет содержания'
rating = review.find('div', class_='star-rating')['data-rating'] if review.find('div', class_='star-rating') else 'Не указано'
reviews.append({
'title': title,
'content': content,
'rating': rating
})
return reviews
# Функция для импорта отзывов в базу данных WordPress
def import_reviews_to_db(reviews):
db = connect_to_db()
cursor = db.cursor()
for review in reviews:
cursor.execute("""
INSERT INTO wp_posts (post_title, post_content, post_type, post_status)
VALUES (%s, %s, %s, %s)
""", (review['title'], review['content'], 'review', 'publish'))
db.commit()
cursor.close()
db.close()
# Запуск парсинга и импорта отзывов
if __name__ == "__main__":
url = 'https://www.trustpilot.com/review/your-website.com' # Замените на целевой URL
reviews = parse_reviews(url)
import_reviews_to_db(reviews)
print(f'Импортировано {len(reviews)} отзывов.')
Подключение к базе данных: Убедитесь, что вы заменили параметры подключения (имя пользователя, пароль, имя базы данных) на ваши собственные данные.
Парсинг отзывов: Код находит элементы с классом review
. Вам нужно будет настроить этот код, чтобы соответствовать текущей структуре HTML страницы.
Импорт в базу данных: Код вставляет заголовок и содержание отзыва в таблицу wp_posts
. Убедитесь, что эта таблица уже существует в вашей базе данных WordPress.
Запуск кода: Для запуска кода просто сохраните его в файл с расширением .py
и выполните команду python your_script.py
.
Scrapy
или BeautifulSoup
для более сложных случаев парсинга.