Python BeautifulSoup定位取值
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
从网页中获取指定标签、属性值,取值方式:
1.通过标签名获取:tag.name tag对应的type是<class 'bs4.element.Tag'>
2.通过属性获取:tag.attrs
3.获取标签属性:tag.get('属性名') 或 tag['属性名']
获取标签内容:
1.tag.string 获取当前标签的内容,只有一个标签的时候,(是能处理一个标签,返回标签的text内容)
2.tag.get_text() 获取标签内所有的字符串
BeautifulSoup 功能标签
1.
stripped_strings输出的字符串中可能包含了很多空格或空行,使用
.stripped_strings可以去除多余空白内容for string in soup.stripped_strings:
print(repr(string))
# u"The Dormouse's story"
# u"The Dormouse's story"
# u'Once upon a time there were three little sisters; and their names were'
# u'Elsie'
# u','
# u'Lacie'
# u'and'
# u'Tillie'
# u';\nand they lived at the bottom of a well.'2. 标准输出页面:
soup.prettify()
BeautifulSoup 查找元素:
1.find_all(class_="class") 返回的是多个标签,格式为<class 'bs4.element.ResultSet'>
2.find(class_="class") 返回一个标签,格式是<class 'bs4.element.Tag'>
3.select_one() 返回一个标签,格式是<class 'bs4.element.Tag'>
4.select() 返回的是多个标签,格式为<class 'bs4.element.ResultSet'>
5. soup = BeautifulSoup(backdata,'html.parser') #转换为BeautifulSoup形式属性
soup.find_all('标签名',attrs{'属性名':'属性值'} ) #返回的是列表
limitk 控制 find_allf返回的数量
recursive=Flasef返回tag的直接子元素soup.find_all(text=re.compile(' content ')) 根据文本匹配,可模糊匹配
子节点处理方式:
1.
contents
.contents属性可以将tag的子节点以列表的方式输出2. children
.children生成器,可以对tag的子节点进行循环3.
descendants
contents和children只是返回的是直接子节点,而descendants返回的是对多有的子孙节点进行循环
父节点处理方式:
1. parent
通过
.parent属性来获取某个元素的父节点2. find_parents()
返回祖先节点
2. find_parent()
返回父节点
兄弟节点处理方式:
1. next_siblings 下一个兄弟节点
2. previous_siblings 上一个兄弟节点
3. find_next_siblings()下一个兄弟节点
4. find_next_sibling()上一个兄弟节点
Python BeautifulSoup定位取值的更多相关文章
- Python 字符串——巧取值和列表——巧取值 对比
Python 字符串——巧取值和列表——巧取值 对比 1.字符串取值实例: samp_string = "Whatever you are, be a good one." for ...
- python迭代器-迭代器取值-for循环-生成器-yield-生成器表达式-常用内置方法-面向过程编程-05
迭代器 迭代器 迭代: # 更新换代(其实也是重复)的过程,每一次的迭代都必须基于上一次的结果(上一次与这一次之间必须是有关系的) 迭代器: # 迭代取值的工具 为什么用迭代器: # 迭代器提供了一种 ...
- Python 字典的取值
不能用.取值 .是获取属性或方法 只能用中括号或者get方法 中括号和get中可以放字符串或者变量 get与[]的区别在于当key不存在,get不会报错,而且get可以设置取不到值时返回的默认值.
- python数组冒号取值操作
1.冒号的用法 1.1 一个冒号 a[i:j] 这里的i指起始位置,默认为0:j是终止位置,默认为len(a),在取出数组中的值时就会从数组下标i(包括)一直取到下标j(不包括j) 在一个冒号的情况下 ...
- [原创]python+beautifulsoup爬取整个网站的仓库列表与仓库详情
from bs4 import BeautifulSoup import requests import os def getdepotdetailcontent(title,url):#爬取每个仓库 ...
- python:字符串取值
某个字符串为stmp="abcdef54321" 取前面5个stmp[:5] #abcde 取后面5个stmp[-5:] #54321 从前面开始取,不包括最后两个stmp[:-2 ...
- 学习笔记28—Python 不同数据类型取值方法
1.array数据类型 1)-------> y[i,] 或者 y[i] 2.遍历目录下所有文件夹: def eachFile(filepath): pathDir = os.list ...
- python 嵌套字典取值增强版
def getdictvalue(d,code): result=[] if isinstance(d, dict) : try: value = d[code] result.append(valu ...
- Python数据科学手册-Pandas:数据取值与选择
Numpy数组取值 切片[:,1:5], 掩码操作arr[arr>0], 花哨的索引 arr[0, [1,5]],Pandas的操作类似 Series数据选择方法 Series对象与一维Nump ...
- 9月23日内容总结——pycharm的安装与使用、python语法规范与注释、变量和常量、索引取值以及部分数据类型简介
今日内容总结 目录 今日内容总结 一.pycharm的安装 1.软件介绍 2.正版安装 1.下载软件 2.安装软件 3.其他方法安装(需要先下载相关资源) ①无限试用法 ②傻瓜式激活法 ③淘宝购买 二 ...
随机推荐
- 力扣532(java&python)-数组中的 k-diff 数对(中等)
题目: 给你一个整数数组 nums 和一个整数 k,请你在数组中找出 不同的 k-diff 数对,并返回不同的 k-diff 数对 的数目. k-diff 数对定义为一个整数对 (nums[i], n ...
- 力扣5(java)-最长回文串(中等)
题目: 给你一个字符串 s,找到 s 中最长的回文子串. 示例 1: 输入:s = "babad"输出:"bab"解释:"aba" 同样是符 ...
- 云原生时代如何用 Prometheus 实现性能压测可观测-Metrics 篇
简介:可观测性包括 Metrics.Traces.Logs3 个维度.可观测能力帮助我们在复杂的分布式系统中快速排查.定位问题,是分布式系统中必不可少的运维工具. 作者:拂衣 什么是性能压测可观测 ...
- OpenKruise v0.9.0 版本发布:新增 Pod 重启、删除防护等重磅功能
简介: OpenKruise 是阿里云开源的云原生应用自动化管理套件,也是当前托管在 Cloud Native Computing Foundation (CNCF) 下的 Sandbox 项目.它来 ...
- 【CDS技术揭秘系列 01】阿里云CDS-OSS容灾大揭秘
简介: 本文主要阐述 CDS 产品中 OSS 服务在容灾方面的部署形态以及实现的其本原理. 容灾功能可以保证用户一份数据在多个地方存在冗余备份,当某个机房出现极端异常(比如物理损毁)情况下,数据也不 ...
- 2019-2-11-win10-uwp-安装文件-appinstaller-格式
title author date CreateTime categories win10 uwp 安装文件 appinstaller 格式 lindexi 2019-02-11 08:55:31 + ...
- CSS属性继承问题,那些会被继承,哪些不继承?
总的来能被继承的就是三大类 一,字体有关的的,font-开头的 二,文本有关的,text- 开头的 三,visibility , cursor 其它的基本都是不能被继承 比如说这个,你以为它继承了ma ...
- js实现懒加载原理
概念:对于页面有很多静态资源的情况下(比如网商购物页面),为了节省用户流量和提高页面性能,可以在用户浏览到当前资源的时候,再对资源进行请求和加载.原理:当图片元素的偏移高度<=设备高度+滚动条与 ...
- Competition Set - AtCoder II
这里记录的是这个账号的比赛情况. ABC310 2023-7-15 Solved:6/8 1973->2053 七场ABC,两场打得蛮烂的,都因为AT炸掉Unrated了:另外五场全部满Perf ...
- 16、数据库加固-mongo 加固
1.指定日志与数据库存放位置 在配置文件中设置指向目录位置 自建配置文件:vim /usr/local/mongodb/etc/mongodb.conf dbpath=/data/db logpath ...