博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python网络数据采集学习笔记:第二章
阅读量:3706 次
发布时间:2019-05-21

本文共 838 字,大约阅读时间需要 2 分钟。

find() 和 findAll()

BeautifulSoup 里的 find() 和 findAll() 可能是你最常用的两个函数。借助它们,你可以通过标签的不同属性轻松地过滤 HTML 页面。

from urllib.request import urlopenfrom bs4 import BeautifulSouphtml=urlopen("http://www.pythonscraping.com/pages/warandpeace.html")bsObj=BeautifulSoup(html)nameList=bsObj.findAll("span",{
"class":'green'})for name in nameList: print(name.get_text())

函数定义:

findAll(tag, attributes, recursive, text, limit, keywords)find(tag, attributes, recursive, text, keywords)

BeautifulSoup的四种常用对象:

• BeautifulSoup 对象

前面代码示例中的 bsObj

• 标签 Tag 对象

BeautifulSoup 对象通过 find 和 findAll ,或者直接调用子标签获取的一列对象或单个对象,就像:
bsObj.div.h1

但是,这个库还有另外两种对象,虽然不常用,却应该了解一下。

• NavigableString 对象

用来表示标签里的文字,不是标签(有些函数可以操作和生成 NavigableString 对象,而不是标签对象)。

• Comment 对象

用来查找 HTML 文档的注释标签,


导航树

findAll 函数通过标签的名称和属性来查找标签 。但是如果你需要通过标签在文档中的位置来查找标签,该怎么办?这就是导航树(Navigating Trees)的作用。

转载地址:http://oqyjn.baihongyu.com/

你可能感兴趣的文章
案例:小明接受到2家公司的offer,纠结到底去哪家
查看>>
scipy习题
查看>>
user_agent浏览器头部
查看>>
python期末版二版-习题题库
查看>>
mybatis+druid配置
查看>>
mapper文件
查看>>
springboot整合log4j
查看>>
mybatis核心配置文件
查看>>
java多线程笔记
查看>>
使用md5进行数据加密
查看>>
springboot整合swagger
查看>>
Java网络编程
查看>>
汇编语言学习笔记1
查看>>
邮件任务
查看>>
idea打包maven项目
查看>>
详解int i = ++i+i++
查看>>
Linux-Task04:Linux文件和目录管理
查看>>
Linux-Task05:Linux磁盘管理
查看>>
数据结构实验1.1
查看>>
数据结构实验1.2
查看>>