在beautifulsoup的官方文件中,給出了 find和 find_all兩種 method,如果按類別獲取資訊,有如下語法:
soup.find_all(
'a')
# 獲取所有形如 ... 的資訊
如果我們想要按class得到呢?比如某乙個資訊在 div容器裡面,它所對應的 class是 listblk。例如
class
="listblk"
>
cellspacing
="0"
style
="margin
:0 auto;
">
>
>
>
class
="pagebox"
>
class
="pagebox_pre_nolink"
>
>
class
="pagebox_num_nonce"
>
1span
>
class
="pagebox_num"
>
href
="stock_news.php?ins=gn_stbk&p=2"
>
2a>
span
>
class
="pagebox_num"
>
href
="stock_news.php?ins=gn_stbk&p=3"
>
3a>
span
>
class
="pagebox_next"
>
class
="btn-next-wrap"
href
="stock_news.php?ins=gn_stbk&p=2"
>
>
span
>
div>
td>
tr>
tbody
>
table
>
class
="hs01"
>
div>
>
.list_009 a:link
;style
>
class
="list_009"
>
>
href
=""target
="_blank"
>
9天8板:摘帽股智慧型農業瘋漲 頂級游資高位接力a
>
>
(2020-11-06 20:24:00)span
>
li>
>
href
=""target
="_blank"
>
超級大單:痛失全球第一寶座 6億資金恐慌出逃千億巨頭a
>
>
(2020-05-11 18:44:13)span
>
li>
ul>
class
="list_009"
>
ul>
class
="hs01"
>
div>
cellspacing
="0"
style
="margin
:0 auto;
">
>
>
>
class
="pagebox"
>
class
="pagebox_pre_nolink"
>
>
class
="pagebox_num_nonce"
>
1span
>
class
="pagebox_num"
>
href
="stock_news.php?ins=gn_stbk&p=2"
>
2a>
span
>
class
="pagebox_num"
>
href
="stock_news.php?ins=gn_stbk&p=3"
>
3a>
span
>
class
="pagebox_next"
>
class
="btn-next-wrap"
href
="stock_news.php?ins=gn_stbk&p=2"
>
>
span
>
div>
td>
tr>
tbody
>
table
>
div>
那麼事實上,我們可以通過如下語法獲得(即:宣告 attrs裡面的 class名稱)
soup.find_all(name=
'div'
, attrs=
)
最後順便提一句如何獲得tag的內容。例如
>
some textspan
>
那麼直接通過
tag.string
就可以得到
some text
bs4和xpath的用法
1.bs4的運用 流程 1.匯入相應的模組 from bs4 import beautifulsoup 2.例項化乙個 beautifulsoup 物件,並將我們要解析的資料載入到該物件中 soup beautifulsoup 要解析的資料 lxml 解析器 3.定位標籤 1 通過標籤名定位 sou...
requests和bs4的python爬蟲入門
現在就簡單的講下這幾個月的學習成果嘛 爬蟲其實爬的都是源 然後再通過對源 進行過濾,得出我們想要的東西 有時會需要一些正則的東西 這裡面有一些lazyload的,就需要 selenium webdriver 什麼的了,這個還沒研究到哈,勿噴勿噴。上面的答案也有提到過,用requests和bs4寫爬蟲...
爬蟲日記 基於bs4庫的HTML格式化和編碼
import requests from bs4 import beautifulsoup r requests.get demo r.text soup beautifulsoup demo,html.parser print soup.prettify 我們之前在講美味湯的時候,就已經用過一次p...