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

成都鲜花网站建设小程序商城免费

成都鲜花网站建设,小程序商城免费,东莞网站建设功能,做网站配什么电脑网络爬虫 概述 网络爬虫是LangChain中的一项关键功能#xff0c;允许用户自动从互联网上收集信息。这项功能对于研究和数据收集尤其有价值#xff0c;因为它可以大幅减少手动搜索和信息整理的工作量。 从网络收集内容有几个主要组件#xff1a; Search搜索#xff1a;使用…网络爬虫 概述 网络爬虫是LangChain中的一项关键功能允许用户自动从互联网上收集信息。这项功能对于研究和数据收集尤其有价值因为它可以大幅减少手动搜索和信息整理的工作量。 从网络收集内容有几个主要组件 Search搜索使用工具如GoogleSearchAPIWrapper查询并获取URL列表。Loading加载将URL转换为HTML内容使用工具如AsyncHtmlLoader或AsyncChromiumLoader。Transforming转换将HTML内容转换为格式化文本使用HTML2Text或BeautifulSoup等工具。 准备 安装相关依赖库 pip install langchain-openai langchain playwright beautifulsoup4 设置OpenAI的BASE_URL、API_Key import osos.environ[OPENAI_BASE_URL] https://xxx.com/v1 os.environ[OPENAI_API_KEY] sk-dtRXRfYzHDZQT8Cr2874xxxx13F97bF24b7a加载器 使用Chromium的无头实例爬取HTML内容无头模式意味着浏览器在没有图形用户界面的情况下运行这通常用于网页抓取。 主要有2种方式 方式加载器描述Python的asyncio库AsyncHtmlLoader使用该库aiohttp发出异步 HTTP 请求适合更简单、轻量级的抓取。PlaywrightAsyncChromiumLoader使用 Playwright 启动 Chromium 实例该实例可以处理 JavaScript 渲染和更复杂的 Web 交互。 注意 Chromium 是 Playwright 支持的浏览器之一Playwright 是一个用于控制浏览器自动化的库。 from langchain_community.document_loaders import AsyncChromiumLoader# 加载HTML loader AsyncChromiumLoader([https://www.langchain.com]) html loader.load()转换 html2text html2text 是一个 Python 包它将 HTML 页面转换为干净、易于阅读的纯文本无需任何特定的标签操作。它最适合目标是提取人类可读文本而不需要操作特定HTML元素的场景。 要使用html2text首先需要额外安装 pip install html2text使用示例如下 from langchain_community.document_loaders import AsyncChromiumLoader from langchain_community.document_transformers import Html2TextTransformer# 加载HTML loader AsyncChromiumLoader([https://www.langchain.com]) html loader.load()# # 转换 html2text Html2TextTransformer() docs_transformed html2text.transform_documents(html)# 结果 res docs_transformed[0].page_content[0:500] print(res)Beautiful Soup Beautiful Soup 提供对 HTML 内容更细粒度的控制支持特定标签的提取、删除和内容清理。它适合根据需要提取特定信息并清理 HTML 内容的情况。 要使用Beautiful Soup首先也是需要安装 pip install beautifulsoup4使用示例如下 from langchain_community.document_loaders import AsyncChromiumLoader from langchain_community.document_transformers import BeautifulSoupTransformer # 加载HTML loader AsyncChromiumLoader([https://www.langchain.com]) html loader.load()# # 转换 bs_transformer BeautifulSoupTransformer() docs_transformed bs_transformer.transform_documents(html, tags_to_extract[h1])# 结果 res docs_transformed[0].page_content[0:500] print(res)从HTML内容中爬取文本内容标签说明 p段落标签。在HTML中定义段落并用于组合相关句子或短语li列表项标签。用于有序ol和无序ul列表中定义列表中的各个项div分区标签。块级元素用于组合其他内联或块级元素a锚点标签。用于定义超链接span内联容器用于标记文本的一部分或文档的一部分提取 定义模式、架构​来指定想要提取的数据类型。键名很重要因为它告诉 LLM想要什么样的信息。 # 定义模式、架构来指定想要提取的数据类型 schema {properties: {all_tutorial_category: {type: string},category_item: {type: string},},required: [all_tutorial_category], }提取网页内容的爬虫实现如下 from langchain_community.document_loaders import AsyncChromiumLoader from langchain_community.document_transformers import BeautifulSoupTransformer from langchain_openai import ChatOpenAI from langchain.text_splitter import RecursiveCharacterTextSplitterllm ChatOpenAI(temperature0, modelgpt-3.5-turbo-0613) from langchain.chains import create_extraction_chain# 定义模式、架构来指定想要提取的数据类型 schema {properties: {category_item: {type: string},},required: [category_item], }# 执行提取链 def extract(content: str, schema: dict):return create_extraction_chain(schemaschema, llmllm).invoke(content)# 使用AsyncChromiumLoader加载器 def scrape_with_playwright(urls, schema):loader AsyncChromiumLoader(urls)docs loader.load()bs_transformer BeautifulSoupTransformer()# 限制爬取指定标签内容docs_transformed bs_transformer.transform_documents(docs, tags_to_extract[h4])print(使用 LLM 提取内容)# 获取网站的前 1000 个token文本splitter RecursiveCharacterTextSplitter.from_tiktoken_encoder(chunk_size1000, chunk_overlap0)splits splitter.split_documents(docs_transformed)# 拆分处理extracted_content extract(schemaschema, contentsplits[0].page_content)# 打印内容# pprint.pprint(extracted_content)return extracted_contentif __name__ __main__:urls [https://www.runoob.com/]extracted_content scrape_with_playwright(urls, schemaschema)print(extracted_content)执行部分日志如下可以看出数据提前成功 text: [{category_item: HTML}, {category_item: CSS}, {category_item: Bootstrap}, {category_item: Font Awesome}, {category_item: Foundation}, {category_item: JavaScript}, {category_item: HTML DOM}, {category_item: jQuery}, ........{category_item: Markdown}, {category_item: HTTP}, {category_item: TCP/IP}, {category_item: W3C}]}自动化​ 可以使用检索器如WebResearchRetriever来自动化网络研究过程以便使用搜索内容回答特定问题。 借助Google的Custom Search JSON API以程序化地检索和显示来自可编程搜索引擎的搜索结果。具体阅读文档创建GOOGLE_API_KEY和GOOGLE_CSE_ID 自动化爬取实现如下 from langchain.retrievers.web_research import WebResearchRetriever from langchain_chroma import Chroma from langchain_community.utilities import GoogleSearchAPIWrapper from langchain_openai import ChatOpenAI, OpenAIEmbeddings import logging from langchain.chains import RetrievalQAWithSourcesChainimport osos.environ[GOOGLE_API_KEY] AIzaSyBNrdu0_xxxxx-Vk2nDs os.environ[GOOGLE_CSE_ID] 405fxxxxxx64ca1# 向量存储使用 Chroma 客户端进行初始化 vectorstore Chroma(embedding_functionOpenAIEmbeddings(), persist_directory./chroma_db_oai )# LLM llm ChatOpenAI(temperature0)# 搜索 search GoogleSearchAPIWrapper() 使用上述工具初始化检索器使用 LLM 生成多个相关搜索查询一次 LLM 调用 对每个查询执行搜索 选择每个查询的前 K 个链接并行多个搜索调用 从所有选定的链接加载信息并行抓取页面 将这些文档索引到矢量存储中 为每个原始生成的搜索查询查找最相关的文档web_research_retriever WebResearchRetriever.from_llm(vectorstorevectorstore, llmllm, searchsearch )# 设置日志 logging.basicConfig() logging.getLogger(langchain.retrievers.web_research).setLevel(logging.INFO)# 执行 user_input 菜鸟教程网站有那些教程分类? qa_chain RetrievalQAWithSourcesChain.from_chain_type(llm, retrieverweb_research_retriever ) result qa_chain.invoke({question: user_input}) print(result)输出结果如下
http://www.tj-hxxt.cn/news/233751.html

相关文章:

  • 景县有专业做网站人员吗服务器怎么发布网站
  • 建设公司董事长致辞网站范文网站排名怎么提升
  • 江苏 网站集约化建设方案网络营销专业课程
  • 创建电子商务网站的步骤临沂哪里有做网站的
  • 南昌门户网站建设看广告挣钱一天300元
  • 如何运营一个行业网站网站建设公司没落
  • 做ppt模板的网站网站为契机建设校园数字化
  • 塘沽建设网站公司女生读电子商务好就业吗
  • 开店加盟北京网站优化公司 卓立海创
  • 个人网站备案描述招商加盟类网站模板
  • 如何快速提升网站关键词排名企业管理考研
  • 网站建设要什么证件免费公司网页制作
  • 建筑行业人才网aso优化技巧大aso技巧
  • 电子商务网站规划书范文儿童手工
  • 网站主页面设计哪个好90后做网站
  • 自学做网站需要学会哪些学动漫制作需要什么基础
  • 网站地图在线制作工具网站链接分析工具
  • 网站添加百度地图标注广西建设网个人登录
  • 电子商务网站建设任务分解试剂网站建设
  • 网站源码下载了没有管理后台20个优秀的响应式设计html5网站模板
  • 做爰全程的网站微商软件平台
  • 快速做效果图的网站叫什么区别广元网络推广
  • 网站建设模式怎么写做物流的网站有哪些内容
  • 外贸汽车网站有哪些成都市住房与城乡建设厅网站
  • 国外创意型网站设计山东自助seo建站
  • diy在线定制网站系统网页设计好的网站
  • 成都怎么成立网站幻影图片一键制作网站
  • 学校html网站模板模板网站与定制网站的区别
  • 腾讯 云上做网站教程深圳做官网的公司
  • 网站建站WordPress离线博客