通过js2xml处理script里的数据

新手叨叨

说实话,现在的网站,对我们这些小爬虫新手实在是太不友好了。
今天要入了一个打开页面啥都有,打开html啥都没有的坑了。


image.png

image.png

这时我们应该就要反应过来,去找一下数据在哪呢?直接搜索一下,发现它全在一个script里的变量中,这样的情况我们有两种处理方法

  • 使用scrapy-splash直接加载出来html所有内容,再进行处理。但因为splash的安装过于繁琐,对于一些小伙伴太不友好,先放下,等别的方法处理不了再考虑这个方法
  • 使用js2xml将script里的数据进行转换成lxml的形式,再通过xpath定位到每个所需数据的位置。
# 回复详情
        reply_area = soup.select('script')[15].string
        reply_text = js2xml.parse(reply_area, debug=False)
        reply_tree = js2xml.pretty_print(reply_text)
        selector = etree.HTML(reply_tree)
        username = selector.xpath('//property[@name="kind"]/following-sibling::property[@name="name"]/string/text()')
        content = selector.xpath('//property[@name="text"]/string/text()')
        time = selector.xpath('//property[@name="create_time"]/string/text()')
        comment_id = selector.xpath('//property[@name="create_time"]/following-sibling::property[@name="id"]/string/text()')
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 看完书可以看看这两则面试招聘:面试:5万字近百页,数据科学面试终极指南招聘·OPPO高级爬虫架构师 序言第1章 S...
    SeanCheney阅读 18,623评论 7 189
  • 本文分享的大体框架包含以下三部分 (1)首先介绍html网页,用来解析html网页的工具xpath(2)介绍pyt...
    不忘初心c阅读 2,578评论 0 14
  • 今天我和爸爸一起下象棋,我先走炮,爸爸边走边教我,虽然我没太学会,但是我特别爱下象棋,以后每天要和爸爸下象...
    闫正辰阅读 182评论 0 0
  • 一个科室六个人。小王活像个包子,脏活、累活全是他的。好事儿不是林姐,就是小周、小李,从来没有他的份儿。 ...
    彼岸流星阅读 563评论 6 11
  • 假期这几天,除了日更,没有更多的打卡作业,还真的感觉有些不习惯。但我深知自己的自律不足以支撑这么多天的持续学习,更...
    七宝不离十阅读 212评论 1 1