python学习之----BeautifulSoup小示例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习之----BeautifulSoup小示例相关的知识,希望对你有一定的参考价值。

BeautifulSoup 库最常用的对象恰好就是BeautifulSoup 对象。

from urllib.request import urlopen

from bs4 import BeautifulSoup

html = urlopen("http://www.pythonscraping.com/pages/page1.html")

bsObj = BeautifulSoup(html.read())

print(bsObj.h1)

 

bsObj.tagname只能获取页面中的第一个指定的标签tagname

输出结果是:

<h1>An Interesting Title</h1>

和前面例子一样,我们导入urlopen,然后调用html.read() 获取网页的HTML 内容。这

样就可以把HTML 内容传到BeautifulSoup 对象,转换成下面的结构:

? html → <html><head>...</head><body>...</body></html>

— head → <head><title>A Useful Page<title></head>

— title → <title>A Useful Page</title>

— body → <body><h1>An Int...</h1><div>Lorem ip...</div></body>

— h1 → <h1>An Interesting Title</h1>

— div → <div>Lorem Ipsum dolor...</div>

可以看出,我们从网页中提取的<h1> 标签被嵌在BeautifulSoup 对象bsObj 结构的第二层

(html → body → h1)。但是,当我们从对象里提取h1 标签的时候,可以直接调用它:

bsObj.h1

其实,下面的所有函数调用都可以产生同样的结果:

bsObj.html.body.h1

bsObj.body.h1

bsObj.html.h1

希望这个例子可以向你展示BeautifulSoup 库的强大与简单。其实,任何HTML(或

XML)文件的任意节点信息都可以被提取出来,只要目标信息的旁边或附近有标记就行。

 

以上是关于python学习之----BeautifulSoup小示例的主要内容,如果未能解决你的问题,请参考以下文章

Python 学习之《Learn Python3 The Hard Way 》第五部分学习笔记

Python 学习之《Learn Python3 The Hard Way 》第二部分学习笔记

python学习之机器学习

Python 学习之《Learn Python3 The Hard Way 》第七部分学习笔记

Python 学习之《Learn Python3 The Hard Way 》第四部分学习笔记

Python 学习之《Learn Python3 The Hard Way 》第九部分学习笔记