爬取对象的解析

问题描述:

最近爬取的对象,会取得一个标签下的大量的text,而想要的结果却在text其中一部分,这样就需要对text再进行解析。

以取AMZ站的商品图片为例:

1 其图片信息不写在DIV中,即便你点击预览,也不会有异步的后台调用。图片的内容装入DIV是依赖于JS实现的。而JS是在初使化时就加载好。可以减少后台的压力。但这就就需要对JS的内容进行解析,其内容如下:


2 首先,可以通过XPATH,取得其JS内容:

 
//script[contains(text(),'colorImages')]/text() 

3 解析文本:

这里要说一下,因为XPATH的强项是针对元素标签的定位,而针对其内容的处理就显得捉襟见肘了。
而对内容的处理,主要有 STRING的截取,正则,已有格式转化后的调用(如XML,JSON)
观察取出内容,朋友发现是符合Restful的JSON串格式的。所以用JSON更为方便。
我要取出所有hiRes标签下的URL。可以用到JSON.LOADS将JSON转成PYTHON的队列
        colorImg= colorImg[(colorImg.find('[{')):colorImg.rfind('}]')+2]  # 取得[{}]中间内容
        list = json.loads(colorImg)
        for img in list :
            imgs.append(img['hiRes'])

4 以上就是图片内容的解析
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值