xpath草稿
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | (一)日期和简介 date: 2017 / 12 / 18 name:a标签href属性提取抛出异常 list index out of range (二)问题详细说明: 以百度新闻页面为例: 1.node_list = html_etree.xpath( "//a" ) # 获得a标签节点198个 2. 遍历节点,获取href属性:a_href = node.xpath( "./@href" )[ 0 ]时 到 173 后面的href属性提取异常。 后发现: 174 标签为:<a id = "change-city" class = "select-btn" >切换城市< / a> 没有href属性。 (三)解决方案 1. 推荐方法:浏览器中查找报错标签:html页面内,根据第 172 标签,查找第 174 标签。 2. 风险点:a标签可能的情况: ( 1 )没有href属性 ( 2 )有href属性 1 )href = '' 2 )href = '#' 3 )href = '#top' 4 )href = 'javascript:void(0)' 5 )href = '/' 6 )href = './' 7 )href = '/society' 8 )href = 'http://XXX....' 9 )href = 'https://XXX....' 10 )href = 'mailto:root@freebuf.com' 提取href时,前面 4 种没有意义,后面的有意义。 风险 1 :requests的get方法提取a标签,只能提取静态html中的,如果有js动态加载的a标签,不会被提取到。(如果有需要,考虑用selenium) 风险 2 :href中的有效链接,域名之外的不需要,会妨碍对站点的全站抓取。(考虑用正则匹配,筛选出指定域名下的url) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· .NET 进程 stackoverflow异常后,还可以接收 TCP 连接请求吗?
· 本地部署 DeepSeek:小白也能轻松搞定!
· 基于DeepSeek R1 满血版大模型的个人知识库,回答都源自对你专属文件的深度学习。
· 在缓慢中沉淀,在挑战中重生!2024个人总结!
· 如何给本地部署的DeepSeek投喂数据,让他更懂你
· 大人,时代变了! 赶快把自有业务的本地AI“模型”训练起来!