ScrapeGraphAl AI爬虫

罗拉尔哆啦A梦 2024-10-26 09:31:01 阅读 93

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

<code>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="""请执行以下步骤:code>

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)code>

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。