BeautifulSoup常用的函数【转】

Example:

html文件:

html_doc = """ <html><head><title>The Dormouse‘s story</title></head> <p class="title">The Dormouse‘s story

<p class="story">Once upon a time there were three little sisters; and their names were <a href="http://example.com/elsie" class="sister" id="link1">Elsie, <a href="http://example.com/lacie" class="sister" id="link2">Lacie and <a href="http://example.com/tillie" class="sister" id="link3">Tillie; and they lived at the bottom of a well.

<p class="story">...

"""

代码:

from bs4 import BeautifulSoup

soup = BeautifulSoup(html_doc)

接下来可以开始使用各种功能

soup.X (X为任意标签,返回整个标签,包括标签的属性,内容等)

如:soup.title

# <title>The Dormouse‘s story</title>

soup.p

# <p class="title">The Dormouse‘s story

soup.a  (注:仅仅返回第一个结果)

# <a class="sister" href="http://example.com/elsie" id="link1">Elsie

soup.find_all(‘a‘) (find_all 可以返回所有)

# [<a class="sister" href="http://example.com/elsie" id="link1">Elsie,

# <a class="sister" href="http://example.com/lacie" id="link2">Lacie,

# <a class="sister" href="http://example.com/tillie" id="link3">Tillie]

find还可以按属性查找

soup.find(id="link3")

# <a class="sister" href="http://example.com/tillie" id="link3">Tillie

要取某个标签的某个属性,可用函数有 find_all,get

for link in soup.find_all(‘a‘):

print(link.get(‘href‘))

# http://example.com/elsie

# http://example.com/lacie

# http://example.com/tillie

要取html文件中的所有文本,可使用get_text()

print(soup.get_text())

# The Dormouse‘s story

#

# The Dormouse‘s story

#

# Once upon a time there were three little sisters; and their names were

# Elsie,

# Lacie and

# Tillie;

# and they lived at the bottom of a well.

#

# ...

如果是打开html文件,语句可用:

soup = BeautifulSoup(open("index.html"))

BeautifulSoup中的Object

tag (对应html中的标签)

tag.attrs (以字典形式返回tag的所有属性)

可以直接对tag的属性进行增、删、改,跟操作字典一样

tag[‘class‘] = ‘verybold‘

tag[‘id‘] = 1

tag

# <blockquote class="verybold" id="1">Extremely bold</blockquote>

del tag[‘class‘]

del tag[‘id‘]

tag

# <blockquote>Extremely bold</blockquote>

tag[‘class‘]

# KeyError: ‘class‘

print(tag.get(‘class‘))

# None

X.contents (X为标签,可返回标签的内容)

eg.

head_tag = soup.head

head_tag

# <head><title>The Dormouse‘s story</title></head>

head_tag.contents

[<title>The Dormouse‘s story</title>]

title_tag = head_tag.contents[0]

title_tag

# <title>The Dormouse‘s story</title>

title_tag.contents

# [u‘The Dormouse‘s story‘]

时间: 2024-10-12 05:17:47

BeautifulSoup常用的函数【转】的相关文章

sql常用格式化函数及字符串函数

一.常用格式化函数 1.日期转字符串 select to_char(current_timestamp, 'YYYY-MM-DD HH24:MI:SS') //2017-09-18 22:41:50 YYYY:年(4和更多位) MM:月份号(01-12) DD:一个月里的日(01-31) HH24:一天的小时数(00-23) MI:分钟(00-59) SS:秒(00-59) 2.字符串转日期 select to_date('2017-09-18','YYYY-MM-DD') //2017-09-

在PHP编程中常用的函数

<?php//===============================时间日期===============================//y返回年最后两位,Y年四位数,m月份数字,M月份英文.d月份几号数字,D星期几英文$date=date("Y-m-d");$date=date("Y-m-d H:i:s");//带时分秒 //include,include_once.require,require_once//require("file

嵌入式之---常用模板函数(用法说明函数、参数解析函数)

主要内容:嵌入式常用模板函数(用法说明函数.参数解析函数) /*显示参数列表*/ void usage() {     printf("usage: server [-p:x] [-i:IP] [-o]\n\n");     printf("       -p:x      Port number to listen on\n");     printf("       -i:str    Interface to listen on\n");

SP常用的函数

ASP常用的函数,希望能用的着. <% dim db db="dbms.mdb" '****************************************************************** '执行sql语句,不返回值,sql语句最好是如下: 'update 表名 set 字段名=value,字段名=value where 字段名=value 'delete from 表名 where 字段名=value 'insert into 表名 (字段名,字段名

MySQL常用字符函数简介

<html> <body> <h1>MySQL常用字符函数简介</h1> <table>     <tr>         <td>CONCAT(S1,S2...Sn)</td>         <td>连接S1,S2...Sn为一个字符串</td>     </tr> </table> <p style="background-color:yel

Oracl常用e函数整理

最近学Oracle数据库,常常遇到Oracle数据库函数问题,经过默默地琢磨处理,总结了一些Oracle数据库常用函数. ------------------------------------ ---->oracle常用基本函数(附例子)<---- ------------------------------------ ------------------------ ---->常用的字符函数<---- ------------------------ --initap()单词

linux常用C函数目录

字符测试篇 isalnum isalpha isascii iscntrl isdigit isgraphis islower isprint isspace ispunct isupper isxdigit 字符串转换篇 atof atoi atol gcvt strtod strtol strtoul toascii tolower toupper 内存控制篇 calloc free getpagesize malloc mmap munmap 日期时间篇 asctime ctime get

常用hash函数对比分析(一)

主要目标:寻找一个hash函数,高效的支持64位整数运算,使得在速度.空间等效率相对其它函数函数较高,以及内部运算时32位整数运算. 测试了"RSHash","JSHash","PJWHash","ELFHash","BKDRHash","SDBMHash","DJBHash","DEKHash","BPHash","

Oracle 常用系统函数

2  字符函数 1.    replace( 字符串1,字符串2,字符串3) replace( char, search_string, replace_string) 功能:在"字符串1"中搜索"字符串2",并将其替换为"字符串3". 例如下面的命令是将所有员工名字中出现的"A"替换为"中国". SQL>selectreplace(ename, 'A', '中国') from scott.emp;