作者busystudent (busystudent)
看板Python
標題[問題] 詢問關於解析網頁的觀念–如何去html碼
時間Mon Apr 4 13:25:49 2016
最近幾日在做爬蟲網頁,步驟如下:
Step1輸入網址
Step2擷取網頁
Step3去html碼(text cleaning)
我的目標是取得網頁內文,後分析,例如,切出網頁內文前十常出現的字詞。
唯獨去html碼(text cleaning)一直讓我頭痛,我使用正規化去銷html碼,如下所示
import re
TAG_RE = re.compile(r'<[^>]+>')
def remove_tags(text):
return TAG_RE.sub('', text)
如果只有一兩個網頁,效果不錯,因為我可以手動檢查網頁是否有內文,而不是入口網站
ya
我想請問幾個觀念
1. 使用正規化去除html碼是足夠有效的嗎?
2. 當一次面對上百筆網頁時,是前期step1時就要先(手動或自動)分析好網頁,去
除?
3. 還是想打聽,大家都是怎麼處理這方面的問題
--
Sent from my Windows
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.140.224.116
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1459747552.A.3BB.html
1F:→ yeh6: BeautifulSoup?04/04 13:54
2F:→ yeh6: BeautifulSoup?04/04 13:54
感謝提供,之前推文是我功課不足,還請見諒
3F:→ uranusjr: 如果不想另外裝東西, 你需求內建的 html parser 就夠了04/04 14:07
※ 編輯: busystudent (223.140.224.116), 04/04/2016 14:47:23 感謝提醒,我馬上去
找相關資料,謝謝
※ 編輯: busystudent (223.140.224.116), 04/04/2016 14:48:32
4F:推 htc812: 不太懂你意思耶,但我用bs4.getText方法來去除tag覺得還蠻04/05 00:32
5F:→ htc812: 好用的呀04/05 00:32
馬上找相關資料,感謝
※ 編輯: busystudent (223.140.224.116), 04/05/2016 10:32:21
6F:推 PRAM: 所以你還不知道怎麼用beautifulsoup就回推文了嗎?04/05 16:32
Sorry BeautifulSoup 我還以為只有指定位置抓內文的功能,去查才知道自己功課做不足,觀點不對
※ 編輯: busystudent (223.140.224.116), 04/05/2016 17:09:53
※ 編輯: busystudent (223.140.224.116), 04/05/2016 17:11:55
※ 編輯: busystudent (223.140.224.116), 04/05/2016 17:24:31
7F:→ gozule: lxml也很好用,可以試試 04/05 18:03
8F:推 aweimeow: 推 lxml 我也習慣用 lxml 來做 04/05 23:43
9F:→ s860134: 我也喜歡用 lxml 04/07 01:18
10F:推 paoju5566: 自從用了lxml考試都考100分 04/09 02:40