[问题] 爬虫 拆写字串问题

楼主: 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