В этом руководстве мы покажем, как использовать мощные инструменты ScrapeGraph в сочетании с Gemini AI для автоматизации сбора, анализа и обработки информации о конкурентах.
Использование инструментов ScrapeGraph и Gemini AI
Используя инструменты SmartScraperTool и MarkdownifyTool от ScrapeGraph, пользователи могут извлекать подробную информацию из предложений продуктов, стратегий ценообразования, технологических стеков и присутствия на рынке непосредственно с веб-сайтов конкурентов. Затем руководство использует передовую языковую модель Gemini для синтеза разрозненных точек данных в структурированную, действенную информацию.
На протяжении всего процесса ScrapeGraph обеспечивает точность и масштабируемость необработанного извлечения, позволяя аналитикам сосредоточиться на стратегической интерпретации, а не на ручном сборе данных.
Установка необходимых библиотек
Мы устанавливаем или обновляем до последних версий необходимые библиотеки, включая langchain-scrapegraph для расширенного веб-скрапинга и langchain-google-genai для интеграции Gemini AI, а также инструменты анализа данных, такие как pandas, matplotlib и seaborn, чтобы обеспечить готовность вашей среды для бесперебойной работы с конкурентной разведкой.
Пример кода
“`python
import getpass
import os
import json
import pandas as pd
from typing import List, Dict, Any
from datetime import datetime
import matplotlib.pyplot as plt
import seaborn as sns
“`
Проверка ключей API
Мы проверяем, установлены ли переменные окружения SGAIAPIKEY и GOOGLEAPIKEY; если нет, скрипт запрашивает у пользователя ключи API ScrapeGraph и Google (Gemini) через getpass и сохраняет их в окружении для последующих аутентифицированных запросов.
Класс CompetitiveAnalyzer
Класс CompetitiveAnalyzer организует комплексное исследование конкурентов, собирая подробную информацию о компаниях с помощью инструментов ScrapeGraph, компилируя и очищая результаты, а затем используя Gemini AI для генерации структурированных конкурентных инсайтов.
Запуск анализа конкурентов
“`python
def runaisaas_analysis():
“””Run a comprehensive analysis of AI/SaaS competitors”””
analyzer = CompetitiveAnalyzer()
aisaascompetitors = [
{“name”: “OpenAI”, “url”: “https://openai.com”},
{“name”: “Anthropic”, “url”: “https://anthropic.com”},
{“name”: “Hugging Face”, “url”: “https://huggingface.co”},
{“name”: “Cohere”, “url”: “https://cohere.ai”},
{“name”: “Scale AI”, “url”: “https://scale.com”},
]
results = analyzer.analyzecompetitorlandscape(aisaascompetitors)
print(“\n” + “=”*80)
print(” COMPETITIVE ANALYSIS RESULTS”)
print(“=”*80)
print(f”\n Summary Statistics:”)
stats = results[‘summary_stats’]
for key, value in stats.items():
print(f” {key.replace(‘_’, ‘ ‘).title()}: {value}”)
print(f”\n Strategic Analysis:”)
if isinstance(results[‘analysis’], dict):
for section, content in results[‘analysis’].items():
print(f”\n {section.replace(‘_’, ‘ ‘).title()}:”)
if isinstance(content, list):
for item in content:
print(f” • {item}”)
else:
print(f” {content}”)
else:
print(results[‘analysis’])
analyzer.exportresults(“aisaascompetitiveanalysis”)
return results
“`
Мониторинг социальных сетей
“`python
@chain
def socialmediamonitoringchain(companyurls: List[str], config: RunnableConfig):
“””Monitor social media presence and engagement strategies of competitors”””
socialmediaprompt = ChatPromptTemplate.from_messages([
(“system”, “””
You are a social media strategist. Analyze the social media presence and strategies
of these companies. Focus on:
1. Platform presence (LinkedIn, Twitter, Instagram, etc.)
2. Content strategy patterns
3. Engagement tactics
4. Community building approaches
5. Brand voice and messaging
6. Posting frequency and timing
Provide actionable insights for improving social media strategy.
“””),
(“human”, “Analyze social media data for: {urls}”)
])
social_data = []
for url in company_urls:
try:
result = smartscraper.invoke({
“user_prompt”: “Extract all social media links, community engagement features, and social proof elements”,
“website_url”: url,
})
socialdata.append({“url”: url, “socialdata”: result})
except Exception as e:
social_data.append({“url”: url, “error”: str(e)})
chain = socialmediaprompt | llm
analysis = chain.invoke({“urls”: json.dumps(social_data, indent=2)}, config=config)
return {
“social_analysis”: analysis,
“rawsocialdata”: social_data
}
“`
Проверка кредитов
“`python
def check_credits():
“””Check available credits”””
try:
credits_info = credits.invoke({})
print(f” Available Credits: {credits_info}”)
return credits_info
except Exception as e:
print(f” Could not check credits: {e}”)
return None
“`
Вывод
Интеграция возможностей ScrapeGraph со скрапингом с Gemini AI превращает традиционно трудоёмкий процесс конкурентной разведки в эффективный, повторяемый конвейер. ScrapeGraph берёт на себя тяжёлую работу по сбору и нормализации веб-информации, а языковое понимание Gemini превращает эти необработанные данные в высокоуровневые стратегические рекомендации. В результате компании могут быстро оценить рыночное позиционирование, выявить пробелы в функциях и обнаружить новые возможности при минимальном ручном вмешательстве.