当前位置: 首页 > article >正文

ScrapeGraphAl AI爬虫

官网:https://scrapegraph-ai.readthedocs.io/en/latest/

from flask import Flask, request, jsonify
from scrapegraphai.graphs import SmartScraperGraph

app = Flask(__name__)

openai_key = "sk-xxxxxxxxxxxxxxxxxxxx"

graph_config = {
    "llm": {
        "api_key": openai_key,
        "model": "openai/gpt-4o",
    },
}


@app.route('/scrape', methods=['POST'])
def scrape():
    data = request.json
    source_url = data.get('source')

    if not source_url:
        return jsonify({"error": "No source URL provided"}), 400

    smart_scraper_graph = SmartScraperGraph(
        prompt="""请执行以下步骤:
    1. 仔细分析网页结构,识别并提取主要正文内容。
    2. 排除所有非正文元素,包括但不限于:导航菜单、侧边栏、页脚、广告、评论区、相关文章推荐等。
    3. 如果提取的正文内容超过14000个标记,请进行适当的总结,保留核心信息和主要观点。
    4. 直接返回处理后的正文内容或总结,不要添加任何额外的说明、标题或格式化。

    请确保返回的内容仅包含网页的实质性正文部分。""",
        source=source_url,
        config=graph_config
    )

    try:
        result = smart_scraper_graph.run()
        return jsonify({"result": result})
    except Exception as e:
        return jsonify({"error": str(e)}), 500


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000, debug=True)

代码参考的官网示例,比较好用,不过3.5经常会因为文章超长而报错,即使我提示词中写明了超过14000则总结也经常出错,因此用4o是个不错的选择,牺牲小部分速度,换来高准度


http://www.kler.cn/news/323779.html

相关文章:

  • 零基础教你如何开发webman应用插件
  • Mybatis中字段返回值映射问题
  • XXL-JOB在SpringBoot中的集成
  • 【Redis】安装redis-plus-plus
  • Trick : pair 的二分问题
  • mariadb无法存储中文
  • Colorful/七彩虹将星X17 AT 22 Win11原厂OEM系统 带COLORFUL一键还原
  • 今年Java回暖了吗
  • 根据标签实现CD
  • HJ50-四则运算:栈的运用、中缀表达式转后缀表达式并计算结果
  • C++(9.26)
  • FastReport时间格式化(含判空)
  • Python办公自动化之Word
  • 探索未来:MultiOn,AI的下一个革命
  • 示例说明:elasticsearch实战应用
  • 等保托管怎么样,流程是什么样的?
  • 弹性盒模型关键几个点:
  • 【SQL】总结Select语句中用来连接字符串的方法
  • 万字长文详解FreeRTOS软件定时器
  • 机器学习:opencv--特征检测
  • 静态链接和动态链接的Golang二进制文件
  • 音视频入门基础:FLV专题(4)——使用flvAnalyser工具分析FLV文件
  • SQLI—LABS刷题 | SQL总结
  • QT:常用类与组件
  • Humans or LLMs as the Judge? A Study on Judgement Bias
  • Redis6.0.9配置redis集群
  • 银河麒麟高级服务器操作系统V10外接硬盘挂载指南
  • 关于el-card的height设置100%后, el-card内容超出高度后,内容被隐藏这件事
  • Tkinter制作登录界面以及登陆后页面切换--用户数据从数据库获取并进行合法性校验(二)
  • 【WPF】多屏幕展示