python爬蟲筆記day1 BS4庫的使用

2021-08-09 08:29:53 字數 2725 閱讀 7716

這裡我們先簡單的講解一下bs4庫的使用,

暫時不去考慮如何從web上抓取網頁,

假設我們需要爬去的html是如下這麼一段:

下面的一段html**將作為例子被多次用到.這是 愛麗絲夢遊仙境的 的一段內容(以後內容中簡稱為 愛麗絲 的文件):

`html

the dormouse's story

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

" class="sister" id="link1">elsie,

" class="sister" id="link2">lacie and

" class="sister" id="link3">tillie;

and they lived at the bottom of a well.

...

#匯入bs4模組

from bs4 import beautifulsoup

#做乙個美味湯

soup = beautifulsoup(html,'html.parser')

#輸出結果

print(soup.prettify())

'''out:

# ## # ## 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.

#

# # ...

#

# #

'''

可以看到bs4庫將網頁檔案變成了乙個soup的型別,

事實上,bs4庫 是解析、遍歷、維護、「標籤樹「的功能庫。

通俗一點說就是: bs4庫把html源**重新進行了格式化,

從而方便我們對其中的節點、標籤、屬性等進行操作。

請仔細觀察最前面的html檔案

#找到文件的title

soup.title

# the dormouse's story

#title的name值

soup.title.name

# u'title'

#title中的字串string

soup.title.string

# u'the dormouse's story'

#title的父親節點的name屬性

soup.title.parent.name

# u'head'

#文件的第乙個找到的段落

soup.p

#the dormouse's story

#找到的p的class屬性值

soup.p['class']

# u'title'

#找到a標籤

soup.a

# " id="link1">elsie

#找到所有的a標籤

soup.find_all('a')

# [" id="link1">elsie,

# " id="link2">lacie,

# " id="link3">tillie]

#找到id值等於3的a標籤

soup.find(id="link3")

# " id="link3">tillie

通過上面的例子 我們知道bs4庫是這樣理解乙個html原始檔的:

#發現了沒有,find_all方法返回的是乙個可以迭代的列表

forlink

insoup

.find_all

('a'

):print

(link

.get

('href'

))#

# #

#我們可以通過get_text 方法 快速得到原始檔中的所有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.

## ...

bs4庫的入門使用我們就先進行到這。

2019牛客國慶集訓派對day1 B 組合數

解題心得 其實這個題與三個數有關n nn,k kk,n k n kn k。當n m ax n n k n max n,n k n max n,n k 數字大於60 6060 個的時候得到的乙個數肯定非常大,這個時候直接輸出1018 10 10 18的答案,否則可以預見剩下的數字很少,那麼就將剩下數字...

百度之星2012初賽Day1 B 小小度刷禮品

day1開題前還是很忐忑的 題目一刷出來 a題第一眼印象很不好 又長還有圖 先跳過 b題 嘿嘿嘿嘿 水之 這個.直接貼 program include include include include include include define oo 2000000000 define ll uns...

python爬蟲筆記(1)

人稱君子協議,規定了 中哪些資料是可以被爬取的 哪些 是不可以被爬取的。相比http協議,它是安全的超文字傳輸協議,採用證書金鑰加密 requests模組 python中原生的一款基於網路請求的模組,功能強大,簡單便捷,相對於urllib模組效率更高。作用 模擬瀏覽器傳送請求。如何使用 import...