謝舒凱
pic.by DALL-E 3
資料科學:流程、工具與應用
爬蟲入門與文本資料前處理
Open Edition
記得要處理的資料是什麼類型?(structured vs unstructured),會有不太一樣的方法。這個處理流程對初學者的概念定位很重要。。
virtual environment
docker
pip, virtualenv, conda
pip
virtualenv
conda
miniconda
cd myproject
conda create -n (改成你想要的環境名稱) python=(改成你要的版本號)
//激活環境,此時可以安裝你需要的套件 conda activate (你剛創建的環境名稱) //退出環境 conda deactivate
conda install beautifulsoup4
requirements.txt
beautifulsoup4 requests html5lib matplotlib selenium jieba lxml
pip install -r requirements.txt
網頁是由 HTML、CSS、JavaScript 組成的。
一開始,我們先知道只需要 HTML 就好了。
參考課程 NLP web
下載 test.html 並用瀏覽器開啟。
import requests from bs4 import BeautifulSoup res = requests.get('https://raw.githubusercontent.com/lopentu/dspy2023/master/lectures/test.html?token=GHSAT0AAAAAACEHU3PIWDTMFGUMF6W2JPMQZKDFM7A') soup = BeautifulSoup(res.text, 'html.parser') print(soup.find('h1').text)
步驟
課堂練習 colab
requests
import requests
try
except
try: res = requests.get('https://www.sksksk222.com') except: print('網頁不存在')
使用 BeautifulSoup (**) 來解析這個HTML並提取一些數據。
BeautifulSoup
find
find_all
text
(**) 其使用的是 html.parser。除此之外還有 html5lib, lxml 等 parser 可以選擇。
html.parser
html5lib, lxml
tokenization vs word segmentation
詞彙是語言的基本單位
一切都跟歧義 (ambiguity) 有關
小花生了很久才出來
這題全台大都會。
我去買好了
有不同的演算法(但已經不太有意義)。
常用的套件 jieba repo
jieba
可以做一點簡單的文本分析(關鍵字提取、詞性標記等)。
可以客製化:自訂字典、詞類集(POS set)與停用詞 (stopwords)。
--- # 先分組 <p class="small-text">開始習慣在線上(git)與實體(classroom)的合作方式</p> ![w:550 bg right](../assets/img/textming2.png)