看板 Python 關於我們 聯絡資訊
各位前輩好,小弟不才 最近自學python一個多月了 目前是玩爬蟲居多 因為最近爬到一個網域 分頁的格式都沒有規律 所以把文字匯入到list中 然後在擷取關鍵字 但因為index是必須完全符合才能抓到 我的問題是 比如我要抓 (費用)NT5,000 但我已經盡力篩選tag 清單輸出會像是 [‘XXXX’, ‘這門課(費用)NT5,000 目前優惠’, ‘AAAA’, .......] 我應該如何擷取 謝謝前輩學長姐指教 ———————我是補充—————— 本身非什麼資訊相關科系, 所以也是第一次自學語言 想說用爬蟲來幫我找課程(也順便練習python),說不定有機會可以去上上 就剛好看的這個網站 http://ewda.tw/ 中華民國職工福利發展協會 http://ewda.tw/modules/ewda_action/action.php?asn=3978 http://ewda.tw/modules/ewda_action/action.php?asn=3999 像這類型的分頁 不同分頁下抓費用沒問題 但是抓老師姓名就一直找不到共通解 目前是使用papple大提示的join() 再用位移值來抓字 暫時解決「能一次套用在不同分頁」擷取老師姓名 但假設老師姓名如果是兩個字或四個字 位移值就會失效 這樣是不是就只能使用re來判別呢 註:目前只會使用BS來解析,沒有要伸手要code,因為這樣我也不會進步,所以算是請教 一些提示,畢竟有時候google也不知道使用什麼關鍵字... 先謝謝各位熱心的前輩 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 27.247.32.41 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1546562863.A.4E1.html
XperiaZ6C: 正規表示式01/04 09:02
XperiaZ6C: 還是你只是要包含NT5000的element都要抓出來01/04 09:03
germun: import re 用法上網查01/04 09:08
前輩們好,我忘記打清楚一點 就是這些分頁沒規則性,但(費用)(資訊) 這類的名稱字串是都會出現的 所以我希望能用一個方式來抓到所有分頁的這類名稱字串 所以只能用正規表達式就是了? 以上 謝謝 ※ 編輯: Niseel (27.247.32.41), 01/04/2019 09:13:57
InfinityGate: re,不過這感覺用xpath篩text就好了吧01/04 10:29
了解 我下班再研究一下XPATH的用法
papple23g: (假設你的清單叫tag_list)01/04 11:43
papple23g: new_tag_list=[tag for tag in tag_list if ("費用" in01/04 11:43
papple23g: tag) or ("資訊" in tag)]01/04 11:43
謝謝papple大 我晚點試試 請問這樣印出結果會顯示 “(費用) NT 5,000” 嗎 因為目前困擾的就是我要的名詞,前後都有多餘的string ※ 編輯: Niseel (27.247.32.41), 01/04/2019 12:40:32
jiyu520: 你試了就知道。01/04 15:19
jasonfghx: 有沒有網頁? 01/04 17:38
nini200: 直接給網址 01/05 04:34
已提供 ※ 編輯: Niseel (39.10.35.241), 01/05/2019 18:13:10 ※ 編輯: Niseel (39.10.35.241), 01/05/2019 18:13:58 ※ 編輯: Niseel (39.10.35.241), 01/05/2019 18:16:49 ※ 編輯: Niseel (39.10.35.241), 01/05/2019 18:21:32
hoho8: https://i.imgur.com/Xlotm1d.png 不知道怎麼貼文字,所以01/06 08:00
hoho8: 用圖片的方式 (有單純分享文字的網站嗎)01/06 08:01
謝謝h大回覆 我最後是用兩種方法解析出來 一種就是re 一種就是String join再抓出來 , 覺得做出來好像拯救世界一樣爽XD ※ 編輯: Niseel (39.10.35.241), 01/07/2019 21:13:33 ※ 編輯: Niseel (39.10.35.241), 01/07/2019 21:14:01 ※ 編輯: Niseel (39.10.35.241), 01/07/2019 21:14:32