1、通過標簽選擇
# 選擇所有title標簽 soup.select("title") # 選擇所有p標簽中的第三個標簽 soup.select("p:nth-of-type(3)") 相當於soup.select(p)[2] # 選擇body標簽下的所有a標簽 soup.select("body a") # 選擇body標簽下的直接a子標簽 soup.select("body > a") # 選擇id=link1后的所有兄弟節點標簽 soup.select("#link1 ~ .mysis") # 選擇id=link1后的下一個兄弟節點標簽 soup.select("#link1 + .mysis")
2、通過類名查找
# 選擇a標簽,其類屬性為mysis的標簽 soup.select("a.mysis")
3、通過id查找
# 選擇a標簽,其id屬性為link1的標簽 soup.select("a#link1")
4、通過【屬性】查找,當然也適用於class
# 選擇a標簽,其屬性中存在myname的所有標簽 soup.select("a[myname]") # 選擇a標簽,其屬性href=http://example.com/lacie的所有標簽 soup.select("a[href='http://example.com/lacie']") # 選擇a標簽,其href屬性以http開頭 soup.select('a[href^="http"]') # 選擇a標簽,其href屬性以lacie結尾 soup.select('a[href$="lacie"]') # 選擇a標簽,其href屬性包含.com soup.select('a[href*=".com"]') # 從html中排除某標簽,此時soup中不再有script標簽 [s.extract() for s in soup('script')] # 如果想排除多個呢 [s.extract() for s in soup(['script','fram']
1、通過標簽選擇
1
2
3
4
5
6
7
8
9
10
11
12
|
# 選擇所有title標簽
soup.
select
(
"title"
)
# 選擇所有p標簽中的第三個標簽
soup.
select
(
"p:nth-of-type(3)"
) 相當於soup.
select
(p)[2]
# 選擇body標簽下的所有a標簽
soup.
select
(
"body a"
)
# 選擇body標簽下的直接a子標簽
soup.
select
(
"body > a"
)
# 選擇id=link1后的所有兄弟節點標簽
soup.
select
(
"#link1 ~ .mysis"
)
# 選擇id=link1后的下一個兄弟節點標簽
soup.
select
(
"#link1 + .mysis"
)
|
2、通過類名查找
1
2
|
# 選擇a標簽,其類屬性為mysis的標簽
soup.
select
(
"a.mysis"
)
|
3、通過id查找
1
2
|
# 選擇a標簽,其id屬性為link1的標簽
soup.
select
(
"a#link1"
)
|
4、通過【屬性】查找,當然也適用於class
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
# 選擇a標簽,其屬性中存在myname的所有標簽
soup.
select
(
"a[myname]"
)
# 選擇a標簽,其屬性href=http://example.com/lacie的所有標簽
soup.
select
(
"a[href='http://example.com/lacie']"
)
# 選擇a標簽,其href屬性以http開頭
soup.
select
(
'a[href^="http"]'
)
# 選擇a標簽,其href屬性以lacie結尾
soup.
select
(
'a[href$="lacie"]'
)
# 選擇a標簽,其href屬性包含.com
soup.
select
(
'a[href*=".com"]'
)
# 從html中排除某標簽,此時soup中不再有script標簽
[s.extract()
for
s
in
soup(
'script'
)]
# 如果想排除多個呢
[s.extract()
for
s
in
soup([
'script'
,
'fram'
]
|