[問題] 爬蟲 拆寫字串問題

作者: jackjenny (痛苦)   2016-10-19 22:33:40
各問大大好
小弟新手
最近在用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還沒試過
等會試試看
感謝
作者: s860134 (s860134)   2016-10-19 23:56:00
直接 re 後 eval 成 dict 取值阿反正爬蟲就是髒活 能解決都可以啊@@eval(re.search('{.*}',context).group()).get('name')
作者: jackjenny (痛苦)   2016-10-20 00:05:00
請問你說是用正則表達式嗎?
作者: s860134 (s860134)   2016-10-20 00:05:00
'台北直飛馬尼拉/宿霧*'
作者: s860134 (s860134)   2016-10-20 00:06:00
是,這東西是最萬用的字串處理工具what? urllib2?
作者: jackjenny (痛苦)   2016-10-20 00:07:00
python內建urllib2也可以爬蟲只是能力如何還在練習
作者: s860134 (s860134)   2016-10-20 00:09:00
urllib 只是幫你取得資料,你問的是後製處理?
作者: jackjenny (痛苦)   2016-10-20 00:09:00
只熟悉beautiful lxml剛筆誤^^大大說的 萬用字串處理 這樣有了解Y再去把正則式K熟點
作者: s860134 (s860134)   2016-10-20 00:11:00
那些也只是把 DOM 結構拆出來,這個東西應該是 js code
作者: jackjenny (痛苦)   2016-10-20 00:13:00
謝大大ˋ 對阿有猜到JS 字串真多想說lxml好懂理解又強大 沒想到還是要靠正則式
作者: s860134 (s860134)   2016-10-20 00:18:00
並不是說沒辦法寫,是寫這東西根本不汎用...
作者: jackjenny (痛苦)   2016-10-20 02:14:00
非常感謝你 我剛用lxml終於解到那字了 淚
作者: MOONY135 (談無慾)   2016-10-20 09:13:00
正則 或者直接抓class = name下面的值
作者: shadowjohn (轉角遇到愛)   2016-10-20 09:47:00
去頭去尾取中間~
作者: aweimeow (喵喵喵喵 ヽ( ・∀・)ノ)   2016-10-20 10:26:00
把 {} 這一段東西取出來塞 json.decode 呢 XD
作者: uranusjr (←這人是超級笨蛋)   2016-10-20 13:38:00
不行, 它裡面用單引號, JSON 規定要雙引號
作者: BigBank ( )   2016-10-20 15:19:00
{}裡面不就是dictionary了嗎
作者: aweimeow (喵喵喵喵 ヽ( ・∀・)ノ)   2016-10-20 17:10:00
json.loads(s.replace('\'', '"')) XDD感覺有點髒
作者: jackjenny (痛苦)   2016-10-20 22:55:00
我是用lxml 一直用split() 取到中間
作者: uranusjr (←這人是超級笨蛋)   2016-10-21 01:52:00
這個要乾淨解大概只能跑一個 JavaScript 直譯器來 eval不如 regex 硬幹拆一拆就算了
作者: koshi0413 (Koshi)   2016-10-21 07:31:00
小弟的作法和原P0一樣,re不太懂

Links booklink

Contact Us: admin [ a t ] ucptt.com