作者unimaybe (unimaybe)
看板Python
標題[問題] 解析類似html的Dataset
時間Tue Jul 31 16:36:29 2018
各位版友好,小弟是新手><,最近想利用python處理這類的文件
是一個sogou-QCL的一個Dataset
這是參考的網址
http://www.thuir.cn/sogouqcl/?from=timeline&isappinstalled=0
下圖是Dataset的結構
https://i.imgur.com/M3jsivD.png
想建立一個這樣的模型
簡單來說就是把每一種query會搜尋到哪種document
建立成一個list,所以一個query裡面會存很多document
而document後面存放五個相關度的數值
像下面這樣
┌ query_id_01 ┌ doc_id_01 ─ [TCM_value, DBN_value,...(五個相關度)
│ ├ doc_id_02 ─ [TCM_value........
│ ├ doc_id_03
│ ├ doc_id_04
│ └.......
├ query_id_02 ┌.....
│
│
│.........
原本想用beautifulsopu來處理
但是因為每一個子doc標籤裡面有<html></html>的標籤
搜尋只會在第一個document就結束了
有想過用Regular Expression來處理
可是也遇到不少障礙
因為標籤類型不對,所以也不能用elementTree
想請問各位版友有沒有什麼建議
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.114.253.104
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1533026191.A.C7B.html
推 handsomeLin: 依據doc分開之後用re去找吧應該是最快的 07/31 18:18
推 handsomeLin: 比較沒效率但直接string find open tag closed tag 07/31 18:20
→ handsomeLin: 中的index差就能找到你要存的東西 07/31 18:20
推 InfinityGate: lxml 07/31 23:56
→ s860134: 他例子的資料有問題 08/01 21:36
→ s860134: <TACM>0.499875283413</TACMM> 不對稱 tag 08/01 21:36
→ s860134: 這個可能要 hardcode 清理 08/01 21:37
→ s860134: 除去這個你就直接拿 lxml.etree.XML 一爬就解 08/01 21:38