搜索
博主信息
博文 462
粉丝 0
评论 0
访问量 96540
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
结合LangChain实现网页数据爬取
霍格沃兹测开学社
原创
277人浏览过

LangChain 非常强大的一点就是封装了非常多强大的工具可以直接使用。降低了使用者的学习成本。比如数据网页爬取

在其官方文档-网页爬取中,也有非常好的示例。

应用场景

  • 信息爬取。
  • RAG 信息检索。

实践应用

需求说明

  • 从 ceshiren 网站中获取每个帖子的名称以及其对应的url信息。
  • ceshiren论坛地址:ceshiren.com

实现思路

对应源码

  1. # 定义大模型
  2. from langchain_openai import ChatOpenAI
  3. llm = ChatOpenAI(temperature=0, model="gpt-3.5-turbo-0613")
  4. # 定义提取方法
  5. def extract(content: str, schema: dict):
  6. from langchain.chains import create_extraction_chain
  7. return create_extraction_chain(schema=schema, llm=llm).invoke(content)
  8. import pprint
  9. from langchain_text_splitters import RecursiveCharacterTextSplitter
  10. def scrape_with_playwright(urls, schema):
  11. # 加载数据
  12. loader = AsyncChromiumLoader(urls)
  13. docs = loader.load()
  14. # 数据转换
  15. bs_transformer = BeautifulSoupTransformer()
  16. # 提取其中的span标签
  17. docs_transformed = bs_transformer.transform_documents(
  18. docs, tags_to_extract=["span"]
  19. )
  20. # 数据切分
  21. splitter = RecursiveCharacterTextSplitter.from_tiktoken_encoder(
  22. chunk_size=1000, chunk_overlap=0)
  23. splits = splitter.split_documents(docs_transformed)
  24. # 因为数据量太大,输入第一片数据使用,传入使用的架构
  25. extracted_content = extract(schema=schema, content=splits[0].page_content)
  26. pprint.pprint(extracted_content)
  27. return extracted_content
  28. urls = ["https://ceshiren.com/"]
  29. schema = {
  30. "properties": {
  31. "title": {"type": "string"},
  32. "url": {"type": "string"},
  33. },
  34. "required": ["title", "url"],
  35. }
  36. extracted_content = scrape_with_playwright(urls, schema=schema)

总结

  1. 了解网页爬取的实现思路以及相关技术。
  2. 通过LangChain实现爬取测试人网页的标题和url。
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学