---
# System prepended metadata

title: BeautifulSoup
tags: [筆記]

---

 
# BeautifulSoup
 ## 功能
 >抓取HTNL標頭檔裡的資料
 >搜尋HTML標頭檔
 >[color=#227700]
 
 ##  安裝及準備
>我們使用Anaconda的JupyterNotebook，不再需要在電腦安裝任何東西
>在程式開頭鍵入 `from bs4 import BeautifulSoup`(大小寫需與範例一致)
>先宣告一個變數盛裝HTML檔
>用BeautifulSoup的功能來解構BeutifulSoup(變數,'html.parser')
>[color=#227700]
``` python=
    from bs4 import BeautifulSoup
    import requests
    
    html_doc = "https://tw.news.appledaily.com/forum/realtime"
    #在此引入"蘋果日報"的網站
    #有需要業配請找我
    get=requests.get(html_doc)
    soup=BeautifulSoup(get.text,'html.parser')
```

 ## 常用標籤
 >`find_all` 找出所有特定的 HTML 標籤節點
 >`get` 取出 HTML 節點的各種屬性
 >[color=#227700]

 ## 範例
 ### 範例一
 ```python=
     from bs4 import BeautifulSoup
     import requests
     
     html_doc="https://tw.news.appledaily.com/forum/realtime"
     get=requests.get(html_doc)
     soup=BeautifulSoup(get.text,'html.parser')
     
     title = soup.find_all('title')[0]
     print(title)    #輸出title屬性
 
 ```
 上述程式碼會輸出`<title>即時｜論壇｜蘋果新聞網｜蘋果日報</title>`
 是整個`title`標籤，如果只想要文字屬性，可以改成
 `title = soup.find_all('title')[0].text`
 就會只輸出`即時｜論壇｜蘋果新聞網｜蘋果日報`

**注意 在這裡find_all是取出所有標籤,所以會是一個list**
### 範例二
```html=
<li class="rtddt">
    <time>21:40<\time>
    <h1>
        <font color="#383c40">司改會林瑋婷、林俊宏：新興毒品管制需要更...<\font>
    <\h1>
</li>

```
想要爬出這則新聞的標題，可以一層一層的搜尋下去
```python=
from bs4 import BeautifulSoup
import requests

html_doc="https://tw.news.appledaily.com/forum/realtime"

get=requests.get(html_doc)
soup=BeautifulSoup(get.text,'html.parser')
     
news = soup.find_all(class_="rtddt")[0].find_all('h1')[0].text
print(news)    

```