服务器之家

服务器之家 > 正文

python爬虫beautifulsoup解析html方法

时间:2021-08-10 00:27     来源/作者:木偶跳舞

用BeautifulSoup 解析html和xml字符串

python爬虫beautifulsoup解析html方法

实例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup
import re
 
#待分析字符串
html_doc = """
<html>
<head>
  <title>The Dormouse's story</title>
</head>
<body>
<p class="title aq">
  <b>
    The Dormouse's story
  </b>
</p>
 
<p class="story">Once upon a time there were three little sisters; and their names were
  <a href="http://example.com/elsie" rel="external nofollow" class="sister" id="link1">Elsie</a>,
  <a href="http://example.com/lacie" rel="external nofollow" class="sister" id="link2">Lacie</a>
  and
  <a href="http://example.com/tillie" rel="external nofollow" class="sister" id="link3">Tillie</a>;
  and they lived at the bottom of a well.
</p>
 
<p class="story">...</p>
"""
 
 
# html字符串创建BeautifulSoup对象
soup = BeautifulSoup(html_doc, 'html.parser', from_encoding='utf-8')
 
#输出第一个 title 标签
print soup.title
 
#输出第一个 title 标签的标签名称
print soup.title.name
 
#输出第一个 title 标签的包含内容
print soup.title.string
 
#输出第一个 title 标签的父标签的标签名称
print soup.title.parent.name
 
#输出第一个 p 标签
print soup.p
 
#输出第一个 p 标签的 class 属性内容
print soup.p['class']
 
#输出第一个 a 标签的 href 属性内容
print soup.a['href']
'''
soup的属性可以被添加,删除或修改. 再说一次, soup的属性操作方法与字典一样
'''
#修改第一个 a 标签的href属性为 http://www.baidu.com/
soup.a['href'] = 'http://www.baidu.com/'
 
#给第一个 a 标签添加 name 属性
soup.a['name'] = u'百度'
 
#删除第一个 a 标签的 class 属性为
del soup.a['class']
 
##输出第一个 p 标签的所有子节点
print soup.p.contents
 
#输出第一个 a 标签
print soup.a
 
#输出所有的 a 标签,以列表形式显示
print soup.find_all('a')
 
#输出第一个 id 属性等于 link3 的 a 标签
print soup.find(id="link3")
 
#获取所有文字内容
print(soup.get_text())
 
#输出第一个 a 标签的所有属性信息
print soup.a.attrs
 
 
for link in soup.find_all('a'):
  #获取 link 的 href 属性内容
  print(link.get('href'))
 
#对soup.p的子节点进行循环输出 
for child in soup.p.children:
  print(child)
 
#正则匹配,名字中带有b的标签
for tag in soup.find_all(re.compile("b")):
  print(tag.name)

爬虫设计思路:

python爬虫beautifulsoup解析html方法

详细手册:

https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

到此这篇关于python爬虫beautifulsoup解析html方法 的文章就介绍到这了,更多相关beautifulsoup解析html内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/u013372487/article/details/51734047

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部