首页 > 其他分享 >提取文章里文件链接

提取文章里文件链接

时间:2024-08-27 15:52:13浏览次数:5  
标签:提取 name img contains 链接 href 文章 div class

def get_content_and_images(page_tree, div_name, div_classes):
    content = ''
    img_href_list = []

    for div_class in div_classes:
        # 获取内容和图片/视频链接
        new_content = ''.join(page_tree.xpath(f'//{div_name}[contains(@class, "{div_class}")]//p//text()'))
        new_img_href_list = page_tree.xpath(
            f"//{div_name}[contains(@class, '{div_class}')]//a[contains(@href,'.docx')]/@href | "
            f"//{div_name}[contains(@class, '{div_class}')]//a[contains(@href,'.doc')]/@href | "
            f"//{div_name}[contains(@class, '{div_class}')]//a[contains(@href,'.xlsx')]/@href | "
            f"//{div_name}[contains(@class, '{div_class}')]//a[contains(@href,'.xls')]/@href | "
            f"//{div_name}[contains(@class, '{div_class}')]//a[contains(@href,'.pdf')]/@href | "
            f"//{div_name}[contains(@class, '{div_class}')]//a[contains(@href,'.zip')]/@href | "
            f"//{div_name}[contains(@class, '{div_class}')]//img[contains(@src,'.jpg')]/@src | "
            f"//{div_name}[contains(@class, '{div_class}')]//img[contains(@src,'.png')]/@src"
        )

        # # 如果已经有内容则跳出循环
        if new_content!='' or new_img_href_list!=[]:
            content = new_content
            img_href_list = new_img_href_list
            break

    return content, img_href_list
div_name = 'div'
div_classes = ['xinagxizhengwen']
content, img_href_list = get_content_and_images(page_tree, div_name, div_classes)
            

 

标签:提取,name,img,contains,链接,href,文章,div,class
From: https://www.cnblogs.com/wolvies/p/18382832

相关文章

  • 如何把视频中的音乐提取为MP3音频?这种操作小白也能学会
    有时候,我们在观看视频的时候会被其中的背景音乐所吸引,想要将这段音乐单独保存下来以便日后聆听。这时,就需要借助专业的工具来帮助我们从视频文件中提取音频。下面,我将详细介绍如何使用“简鹿视频格式转换器”这款软件,快速且简单地将视频中的音乐提取出来并保存为MP3格式。第......
  • 软件设计师全套备考系列文章15 -- 数据库:规范化、控制功能、大数据
    软考--软件设计师(15)--数据库:规范化、控制功能、大数据文章目录软考--软件设计师(15)--数据库:规范化、控制功能、大数据前言一、章节考点二、规范化三、数据库的控制功能四、大数据、数据仓库前言考试时间:每年5月、11月,软件设计师每年都会开考。考试条件:三不限......
  • 软件设计师全套备考系列文章12 -- 计算机网络基础
    软考--软件设计师(12)--计算机网络基础文章目录软考--软件设计师(12)--计算机网络基础前言一、章节考点二、网络分类三、七层网络协议结构四、TCP/IP五、IP协议前言考试时间:每年5月、11月,软件设计师每年都会开考。考试条件:三不限考试形式:一共两门 计算机于软......
  • 教你迅速上手LangChain:十分钟入门到精通,一篇文章足矣!
    背景快速入门的三部曲跟家里安装防盗门的步骤是类似的.安装门设密码测试一下对应到解决方案领域的快速入门的三部曲是什么?安装:Install环境设置:Env写DEMO:Demo那对应到LangChain的快速入门上是什么呢?前两个步骤没差异,关键是写DEMO上.了解本文详......
  • 基于springboot+vue.js的牙科就诊管理系统附带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍后端框架SpringBoot前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • 基于ssm+vue.js的附学费管理系统带文章源码部署视频讲解等
    文章目录前言详细视频演示具体实现截图核心技术介绍后端框架SSM前端框架Vue持久层框架MyBaits为什么选择我代码参考数据库参考测试用例参考源码获取前言......
  • 解决Z-blog数据库链接错误?
    你是否也曾遇到过在登录Z-blog博客时,系统显示“错误原因:数据库连接错误”这样的状况呢?频繁出现此种情况对于SEO优化而言是极为不利的。那么,究竟应当如何解决Z-blog数据库链接错误的问题呢?首先,我们得深入剖析为何会产生这样的状况,其原因主要有两点。不管是在服务器上进行安......
  • 微信不能打开,点击微信后显示无法定位程序输入点CreateTOolhelp32Snapshot于动态链接库
    问题描述:解决方法:修复动态链接库KERNEL32.dll重新安装动态链接库KERNEL32.dll检查应用程序兼容性与更新,或查找应用程序的补丁以修复可能存在的与kernel32.dll相关的兼容性问题下载最新版微信,卸载微信,重启电脑,退出杀毒软件后,重新安装最新版。原因:    1、系统文件损......
  • ZBlog网站PHP发表文章时间显示XX天前
    functionTimeAgo($ptime){$ptime=strtotime($ptime);$etime=time()-$ptime;if($etime<1)return'刚刚';$interval=array(12*30*24*60*60=>'年前('.date('Y-m-d',$ptime).')......
  • 字符串值提取工具-10-java 执行表达式引擎
    值提取系列字符串值提取工具-01-概览字符串值提取工具-02-java调用js字符串值提取工具-03-java调用groovy字符串值提取工具-04-java调用java?Janino编译工具字符串值提取工具-05-java调用shell字符串值提取工具-06-java调用python字符串值提取工具-07-ja......