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

【Python】解析网络源码节点的时候,遇到空白的行怎么办?

我们在用爬虫解析html源码的时候,如果遇到有空白内容的节点,正常需要的部分呢,又找不到节点,如下图所示:

在这里插入图片描述
放大图是这样的:

在这里插入图片描述
如果我想获取上面的文字段落,就无法直接通过定位节点的方式获取text。

解决办法:

可以直接获取上一级可以获取的节点,例如上面的例子是获取到'id': 'zb_price_cont' 这个节点,然后把该节点下的所有文本用strings获取下来,然后用list进行分段。

(如果不用list装起来,所有文本会成段,不好分割文本)

import requests
from bs4 import BeautifulSoupurl="WWW.xxx.com"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36'}
response = requests.get(url, headers=headers)#一定要有headers
page_soup= BeautifulSoup(response.text, 'lxml')# 用一个list(节点.strings) 就可以直接获取得到
words=list(page_soup.find('div', {'id': 'zb_price_cont'}).strings)
print(words)

结果就可以获得含有我们需要的内容的文本啦!

当然这个list里面含有【 空白的行 】和 【文本】。如果想要去掉空白部分,就需要遍历list,判断是不是len()==0, 是的部分去除就好了。

相关文章:

  • HTML5超酷炫的水果蔬菜在线商城网站源码系列模板1
  • 【Qt】选择器
  • 【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)
  • Docker打包镜像
  • JavaScript高级——显式原型和隐式原型
  • 自学半年LabVIEW,能搭建出来一个系统吗
  • Datasheet SHT20芯片的数据手册
  • 在深度学习计算机视觉的语义分割中,Boundary和Edge的区别是?
  • 【数学建模】典型相关分析
  • C++ | Leetcode C++题解之第392题判断子序列
  • 2023Idea版本无法下载通义灵码插件以及无法登录问题
  • C++详解string(全面解析)
  • 【虚拟化】KVM-virsh离线工具进行客户机虚拟机磁盘访问
  • 2024年CCPC网络赛 D题个人理解
  • AI绘画笔记
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • Bytom交易说明(账户管理模式)
  • Computed property XXX was assigned to but it has no setter
  • C语言笔记(第一章:C语言编程)
  • ESLint简单操作
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • JWT究竟是什么呢?
  • mysql常用命令汇总
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • php面试题 汇集2
  • Sass 快速入门教程
  • spark本地环境的搭建到运行第一个spark程序
  • SQLServer插入数据
  • Vue.js 移动端适配之 vw 解决方案
  • 电商搜索引擎的架构设计和性能优化
  • 高程读书笔记 第六章 面向对象程序设计
  • 三栏布局总结
  • 探索 JS 中的模块化
  • 鱼骨图 - 如何绘制?
  • 在weex里面使用chart图表
  • #etcd#安装时出错
  • $GOPATH/go.mod exists but should not goland
  • $L^p$ 调和函数恒为零
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (二开)Flink 修改源码拓展 SQL 语法
  • (附源码)springboot高校宿舍交电费系统 毕业设计031552
  • (四)React组件、useState、组件样式
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)3D模板阴影原理
  • (转)Sublime Text3配置Lua运行环境
  • ***通过什么方式***网吧
  • .equal()和==的区别 怎样判断字符串为空问题: Illegal invoke-super to void nio.file.AccessDeniedException
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .Net Core 中间件与过滤器
  • .Net MVC + EF搭建学生管理系统
  • .NET MVC、 WebAPI、 WebService【ws】、NVVM、WCF、Remoting
  • .NET/C# 使窗口永不获得焦点
  • .net开发日常笔记(持续更新)