Crawl4ai 是一个用于网页爬取的 Python 库,可以帮助你从网站中提取数据。以下是使用 Crawl4ai 生成 AI 早报的基本流程:
pip install crawl4ai
import json
from crawl4ai import AsyncWebCrawler
name
、baseSelector
和 fields
三个部分。schema = {
"name": "AIbase News Article",
"baseSelector": "div.pb-32", # 主容器的 CSS 选择器
"fields": [
{
"name": "title",
"selector": "h1",
"type": "text",
},
{
"name": "publication_date",
"selector": "div.flex.flex-col > div.flex.flex-wrap > span:nth-child(6)",
"type": "text",
},
{
"name": "content",
"selector": "div.post-content",
"type": "text",
},
],
}
JsonCssExtractionStrategy
创建一个提取策略,并指定之前定义的 schema。extraction_strategy = JsonCssExtractionStrategy(schema, verbose=True)
AsyncWebCrawler
类进行网页爬取。async with AsyncWebCrawler(verbose=True) as crawler:
result = await crawler.arun(
url="https://www.aibase.com/zh/news/12386", # 替换为实际的目标 URL
extraction_strategy=extraction_strategy,
bypass_cache=True, # 忽略缓存,确保获取最新内容
)
result.extracted_content
解析为一个 JSON 对象,并打印出来。extracted_data = json.loads(result.extracted_content)
print(f"成功提取 {len(extracted_data)} 条记录")
print(json.dumps(extracted_data, indent=2, ensure_ascii=False))
asyncio.run
运行异步函数。if __name__ == "__main__":
asyncio.run(extract_ai_news_article())
Prompt 设计对于优化 AI 早报的生成至关重要。以下是选择适合的 Prompt 设计的一些建议:
在自动化过程中遇到技术问题时,可以采取以下解决方法: