首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

python--爬虫--获取和解析存储网页内容--以薄荷网为例(13)

python--爬虫--获取和解析存储网页内容--以薄荷网为例(13)

完整的例子,输出结果:

#coding:utf-8
from bs4 import BeautifulSoup

#先随便假设一个html
html = '''<html>
<head></head>
<body>
    <p id="test_p" class="test">test1</p>
    <p class="test">test2</p>
</body>
<html>'''

#使用lxml解析html
soup = BeautifulSoup(html, 'lxml')

#获取全部p标签
for p in soup.select('p'):
    print(p)
通过该方法,可以输出全部p标签。
那假如我要获取p标签的属性和数据呢?方法如下:
for p in soup.select('p'):
    print(p.name) #标签名称
   
    #标签属性,也可以用p['id']。若属性不存在会报错,和字典获取键值类似
    print(p.get('id'))
    print(p.string) #标签内容
若一个标签里面有很多子标签,你可以再进一步继续使用select。
若想获取标签下全部子标签的文本内容。可以用strings属性得到一个生成器,不过可能有很多回车和空格。若想屏蔽回车和空格,可以使用stripped_strings属性。如下所示:
print(''.join(soup.body.strings))
print(''.join(soup.body.stripped_strings))
将分别得到:
u'\ntest1\ntest2\n'
u'test1test2'
返回列表