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

python3 beautifulsoup_(转载) python3: beautifulsoup的使用

转载: https://www.cnblogs.com/chimeiwangliang/p/8649003.html

from bs4 import BeautifulSoup

import requests,re

req_obj = requests.get('https://www.baidu.com')

soup = BeautifulSoup(req_obj.text,'lxml')

'''标签查找'''

print(soup.title) #只是查找出第一个

print(soup.find('title')) #效果和上面一样

print(soup.find_all('div')) #查出所有的div标签

'''获取标签里的属性'''

tag = soup.div

print(tag['class']) #多属性的话,会返回一个列表

print(tag['id']) #查找标签的id属性

print(tag.attrs) #查找标签所有的属性,返回一个字典(属性名:属性值)

'''标签包的字符串'''

tag = soup.title

print(tag.string) #获取标签里的字符串

tag.string.replace_with("哈哈") #字符串不能直接编辑,可以替换

'''子节点的操作'''

tag = soup.head

print(tag.title) #获取head标签后再获取它包含的子标签

'''contents 和 .children'''

tag = soup.body

print(tag.contents) #将标签的子节点以列表返回

print([child for child in tag.children]) #输出和上面一样

'''descendants'''

tag = soup.body

[print(child_tag) for child_tag in tag.descendants] #获取所有子节点和子子节点

'''strings和.stripped_strings'''

tag = soup.body

[print(str) for str in tag.strings] #输出所有所有文本内容

[print(str) for str in tag.stripped_strings] #输出所有所有文本内容,去除空格或空行

'''.parent和.parents'''

tag = soup.title

print(tag.parent)               #输出便签的父标签

[print(parent) for parent in tag.parents] #输出所有的父标签

'''.next_siblings 和 .previous_siblings

查出所有的兄弟节点

'''

'''.next_element 和 .previous_element

下一个兄弟节点

'''

'''find_all的keyword 参数'''

soup.find_all(id='link2') #查找所有包含 id 属性的标签

soup.find_all(href=re.compile("elsie")) #href 参数,Beautiful Soup会搜索每个标签的href属性:

soup.find_all(id=True) #找出所有的有id属性的标签

soup.find_all(href=re.compile("elsie"), id='link1') #也可以组合查找

soup.find_all(attrs={"属性名": "属性值"}) #也可以通过字典的方式查找

相关文章:

  • 为什么除零错会导致程序崩溃_Firefox 76.0.1紧急发布:修复导致部分扩展程序崩溃问题...
  • python3 zipfile解压出错_解决python3中解压zip文件是文件名乱码的问题
  • jmeter 线程执行顺序_面试官:线程顺序执行,这么多答案你都答不上来?
  • python可变参数的特点_Java可变参数 Python可变参数 Scala可变参数
  • mysql 多列合并为一列_mysql面试名词聚簇索引、二级索引、最左匹配、覆盖索引、回表
  • 备份类型 事务日志_InnoDB事务日志redo log和undo log详解
  • 被呼叫方拒绝接收呼叫_外包呼叫中心的“前世今生”培训课件6/12
  • 检测到有程序正在访问网络_花旗银行、eBay等网站窃取访问者隐私信息 Behave可监测网站行为...
  • 对象删除某个属性_了解Pandas索引对象:索引对象介绍,索引重建方法等
  • c4.5决策树算法python_决策树之python实现C4.5算法
  • wpf将文字转化为图形_photoshop 2020将任意形状或文本转化为图框并填充图像实例...
  • python清洗数据 food ounces animal_利用Python进行数据分析-Pandas(第四部分-数据清洗和准备)...
  • 高级灰rgb数值_美商海盗船七夕巨献:教你用RGB辨认口红色号
  • python房子代码_用python爬取租房网站信息的代码
  • python中if in是什么意思_if语句中“ in”的使用和含义?
  • 【知识碎片】第三方登录弹窗效果
  • Apache的80端口被占用以及访问时报错403
  • Bootstrap JS插件Alert源码分析
  • CSS魔法堂:Absolute Positioning就这个样
  • express.js的介绍及使用
  • leetcode-27. Remove Element
  • Mysql5.6主从复制
  • Mysql优化
  • overflow: hidden IE7无效
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • vuex 笔记整理
  • Web Storage相关
  • 笨办法学C 练习34:动态数组
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 三栏布局总结
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 延迟脚本的方式
  • 一道面试题引发的“血案”
  • 一个完整Java Web项目背后的密码
  • Python 之网络式编程
  • #DBA杂记1
  • #Linux(make工具和makefile文件以及makefile语法)
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (附源码)springboot助农电商系统 毕业设计 081919
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (四) Graphivz 颜色选择
  • (转)EOS中账户、钱包和密钥的关系
  • * 论文笔记 【Wide Deep Learning for Recommender Systems】
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • . NET自动找可写目录
  • .NET Core 通过 Ef Core 操作 Mysql
  • .Net8 Blazor 尝鲜
  • .net分布式压力测试工具(Beetle.DT)
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • @Autowired注解的实现原理
  • @SentinelResource详解