首页 > 编程语言 >trafilatura python web 数据获取库

trafilatura python web 数据获取库

时间:2024-09-07 08:55:12浏览次数:9  
标签:web retry trafilatura python content result return

trafilatura python web 数据获取库,比较适合进行爬虫,数据提取,支持输出数据为csv,json,html,md,txt,xml

包含的特性

  • 高级web 爬虫以及文本发现
  • 并行处理在线以及离线输入内容
  • 灵活的配置支持,包含了元数据,格式,链接,表格
  • 多输出格式,包含了文本,markdown,json,html,xml
  • 额外扩展,支持语言检测,gui,速度优化

参考使用

集成了tenacity 的一个示例

  • demo.py

主要是集成了tenacity retry 能力,测试trafilatura 的web content markdown 效果,因为实际我们进行爬取肯定会有异常的,这样能提升数据爬取的质量

from trafilatura import extract,fetch_url
 
from  tenacity import *
 
def content(url:str):
    downloaded = fetch_url(url)
    result  = extract(downloaded,include_images=True, output_format="markdown", with_metadata=True)
    print(result)
    return  {
        'result': result,
        'title': "rongfengliang-荣锋亮",
    }
   
def return_last_value(retry_state):
    print("return_last_value",retry_state)
    return retry_state.outcome.result()
 
def is_rongfengliang(content):
    print("is_rongfengliang",content)
    return content is not None and content.get("title") =="rongfengliang-荣锋亮"
 
# will return False after trying 3 times to get a different result
@retry(
       stop=stop_after_attempt(3),
       retry_error_callback=return_last_value,
       retry=retry_if_result(is_rongfengliang))
def eventually_return_false():
    result = content("https://www.cnblogs.com/rongfengliang/p/18280856")
    return result
   
return_last_value = eventually_return_false()
 
print("return_last_value",return_last_value)

说明

在基于RAG 的系统开发中,如何提升web content 内容的质量数据提取,内容格式都是比较重要的,trafilatura 是一个值得尝试的工具,效果还是很不错的,对于html 中噪音可以很好的处理

参考资料

https://github.com/adbar/trafilatura
https://trafilatura.readthedocs.io/en/latest/
https://github.com/jd/tenacity
http://tenacity.readthedocs.io/

标签:web,retry,trafilatura,python,content,result,return
From: https://www.cnblogs.com/rongfengliang/p/18335587

相关文章

  • 计算机毕业设计必看必学!! 09228 SSM电商微信小程序,原创定制程序, java、PHP、python
    摘 要随着微信小程序的使用越来越广泛,在传统的商业模式中,对于各类生活日常商品,人们习惯于到各种商家店铺购买。然而在快节奏的新时代中,人们不一定能为购买商品腾出时间,更不会耐心挑选自己想要的商品。所以设计一个电商微信小程序,既是迎合电子商务的大潮流,也是传统商品行业......
  • 计算机毕业设计必看必学!! 09040 Springboot智能购房推荐系统,原创定制程序, java、PHP
    摘 要近年来随着我国经济的高速发展,房地产业也随之蓬勃发展,尤其是最近国家新出台的房改政策。鼓励居民购房,这对房产公司无疑是一个极好的发展势头。尤为重要的是,近几年随着信息技术和电子商务的快速发展,许多企业都开发了自己房产信息软件。智能购房推荐系统主要针对房屋......
  • 计算机毕业设计必看必学!! 07558 Django校园宿舍管理系统,原创定制程序, java、PHP、py
    摘要本论文主要论述了如何使用django开发一个校园宿舍管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述校园宿舍管理系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各......
  • 【免费】springboot基于SringbootVue个人驾校预约管理系统--论文pf|毕业设计|Javaweb
    收藏点赞不迷路 关注作者有好处编号:springboot503springboot基于SringbootVue个人驾校预约管理系统--论文pf开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计这个环节需要......
  • 【免费】springboot航班进出港管理系统|毕业设计|Javaweb项目
    收藏点赞不迷路 关注作者有好处编号:springboot402springboot航班进出港管理系统--论文pf开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计   航班信息管理图5.1即为......
  • 毕业设计|springboot基于Java Web的考编论坛网站|免费|代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot333springboot基于JavaWeb的考编论坛网站的pf开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计这个环节需要使用前面的设计......
  • JAVA毕业设计|(免费)springboot基于Java Web的考编论坛网站包含文档代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot333springboot基于JavaWeb的考编论坛网站的pf开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计这个环节需要使用前面的设计......
  • JAVA毕业设计|(免费)springboot基于Java Web的考编论坛网站包含文档代码讲解
    收藏点赞不迷路 关注作者有好处编号:springboot333springboot基于JavaWeb的考编论坛网站的pf开发语言:Java数据库:MySQL技术:Spring+SpringMVC+MyBatis+Vue工具:IDEA/Ecilpse、Navicat、Maven1.系统展示2.万字文档展示第5章系统详细设计这个环节需要使用前面的设计......
  • 基于Python+Vue的在线家具家居销售购物商城系统
    文末获取资源,收藏关注不迷路文章目录一、项目介绍二、主要使用技术三、研究内容四、核心代码五、文章目录一、项目介绍该HomeF家居系统采用B/S架构、前后端分离以及MVC模型进行设计,并采用Python语言以及django框架进行开发。本系统主要设计并完成了用户注册、登......
  • 【python】打包神器--pyinstaller
    1:简介pyinstaller是一个python的第三方库,它能够在Windows、Linux、MacOS等操作系统下将Python源文件打包,通过对源文件打包,Python程序可以在没有安装Python的环境中运行,也可以作为一个独立文件方便传递和管理。在Windows上使用就打包成.exe文件。在Mac上使用就打包成m......