看板 Python 關於我們 聯絡資訊
各問大大好 小弟新手 最近在用python urllib2 的lxml方式 也就是xpath語法 想爬些資料參考 其中該網頁的某html的語段 onclick=" onProductClick(this,{'id':'2-mb-161017-twzh-1.png','name':'台北直飛馬尼拉/宿霧 *','creative':'http://www.airasia.com/cdn/aa-images/zh-TW/main-banner/2-mb-161017-twzh-1.png?sfvrsn=4','position':'Home page > zh-TW > main banner 2'})" 我想爬到解析"台北直飛馬尼拉/宿霧" 但不知道該怎解到那段字? 因為這一大串本身就是個大字串 用了許多方式 split atrip 都沒辦法切到重點 請問該如何解了? python 的 scrapy還沒試過 等會試試看 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.230.112 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1476887623.A.888.html
s860134: 直接 re 後 eval 成 dict 取值阿 10/19 23:56
s860134: 反正爬蟲就是髒活 能解決都可以啊@@ 10/19 23:57
s860134: eval(re.search('{.*}',context).group()).get('name') 10/20 00:05
jackjenny: 請問你說是用正則表達式嗎? 10/20 00:05
s860134: '台北直飛馬尼拉/宿霧*' 10/20 00:05
jackjenny: 那urllib2 可以解出嗎 10/20 00:05
s860134: 是,這東西是最萬用的字串處理工具 10/20 00:06
s860134: what? urllib2? 10/20 00:06
jackjenny: python內建urllib2也可以爬蟲 10/20 00:07
jackjenny: 只是能力如何還在練習 10/20 00:08
s860134: urllib 只是幫你取得資料,你問的是後製處理? 10/20 00:09
jackjenny: 只熟悉beautiful lxml 10/20 00:09
jackjenny: 剛筆誤^^ 10/20 00:10
jackjenny: 大大說的 萬用字串處理 這樣有了解Y 10/20 00:10
jackjenny: 再去把正則式K熟點 10/20 00:11
s860134: 那些也只是把 DOM 結構拆出來,這個東西應該是 js code 10/20 00:11
jackjenny: 謝大大ˋ 對阿有猜到JS 字串真多 10/20 00:13
jackjenny: 想說lxml好懂理解又強大 沒想到還是要靠正則式 10/20 00:14
s860134: 並不是說沒辦法寫,是寫這東西根本不汎用... 10/20 00:18
jackjenny: 非常感謝你 我剛用lxml終於解到那字了 淚 10/20 02:14
MOONY135: 正則 或者直接抓class = name下面的值 10/20 09:13
shadowjohn: 去頭去尾取中間~ 10/20 09:47
aweimeow: 把 {} 這一段東西取出來塞 json.decode 呢 XD 10/20 10:26
uranusjr: 不行, 它裡面用單引號, JSON 規定要雙引號 10/20 13:38
BigBank: {}裡面不就是dictionary了嗎 10/20 15:19
aweimeow: json.loads(s.replace('\'', '"')) XDD 10/20 17:10
aweimeow: 感覺有點髒 10/20 17:10
jackjenny: 我是用lxml 一直用split() 取到中間 10/20 22:55
uranusjr: 這個要乾淨解大概只能跑一個 JavaScript 直譯器來 eval 10/21 01:52
uranusjr: 不如 regex 硬幹拆一拆就算了 10/21 01:52
koshi0413: 小弟的作法和原P0一樣,re不太懂 10/21 07:31