爬虫之数据获取的3种方法

封面由ACE Land 人工智能设计师设计,最近升级了一点点小能力,可以给文字配上Icon啦~

ACE Land的成长记录:

DIY一个人工智能设计师_v0.0.1

ACE Land火星深造完回来

以下为正文:

这是在开发一个持续监测电商数据变化的工具过程中的经验。

集爬虫、数据可视化为一体的工具

爬取网上的数据,最笨也最有效的方法就是解析HTML标签,通过class或者id或者HTML元素之间的位置关系(父子、前后)来选择到目标标签,然后通过getAttribute,getComputedStyle,innerText等来获取需要的数据。

之前写过2篇文章,都涉及到这种最有效的方法:

技能之谷歌Chrome爬虫

可视化爬虫SPY

在实践中,我发现根据网站的技术实现,还有更巧妙的数据获取方式:

分析页面的HTML元素绑定的js事件

下拉刷新一般通过一个loading来处理,所以我们可以分析loading的元素标签,class及id或其他属性,找到驱动它的js函数,调用即可。

比如:www.wineyun.com

发现下拉刷新的时候,会出现一个动画,是通过一个gif的实现的,找到这个标签的class:index_loading。

那怎么找都它绑定的js函数呢。

CTRL+F,输入index_loading,很顺利,在页面里就找到了调用函数,即getGoodsList。

那我只要按他的逻辑调用这个函数就可以快速的获取所有异步加载的数据啦~

Ps:

可以直接在Console面板中输入:getGoodsList(),即可获取一次异步加载的内容;

也可以改写getGoodsList函数,把获取的结果直接存入我们自己的数据库。

通过开发者工具Network寻找到接口URL

比如huaban.com

下拉页面,打开开发者工具Network,查看加载的内容

发现异步加载会调用?page=3的接口,点击查看下具体的情况,Response可以看到服务器返回的数据,如下

就是我们要找的数据,所以直接把Request URL

直接贴浏览器的地址栏就可以看到返回的json文件啦:

以上是3个技巧,熟练掌握,提示编写爬虫的效率。

(0)

相关推荐

  • Node.js 概述

    Node.js 概述 1. 简介 Node是JavaScript语言的服务器运行环境. 所谓"运行环境"有两层意思:首先,JavaScript语言通过Node在服务器运行,在这个意 ...

  • 超级变变变,动态云组件加载实践

    动态组件可以说在可视化配置系统中常用的组件,也是能够实现可视化中,实现组件的核心要点. ○ 背景 这篇是作者在公司做了活动架构升级后,产出的主文的前导篇,考虑到本文相对独立,因此抽离出单独成文. 题目 ...

  • Python爬虫入门,快速抓取大规模数据(第四部分)

    如果没有读过前两部份的读者,建议先看前面几部份: 当前大部分网站都使用JS动态的加载内容,浏览器执行JS并生成网页内容.因为Python的requests库不会像浏览器一样执行JS,所以抓取到的内容并 ...

  • 网站不收录怎么做才能有效果呢?

    2021年百度依旧是国内搜索引擎内最大的一家,平哥相信做百度搜索SEO的小伙伴都知道,今年百度对于新站的收录好像没有那么快,并且有些甚至不收录." 网站收录的含义:顾名思义就是网站已经被收录 ...

  • 听说你在玩 Python 爬虫遇到 JavaScript 的时候还在使用 selenium ?

    我们在玩爬虫的时候 对于一些没做什么反爬的网站来说 使用简单的库 三两下就能把数据爬取下来了 不过 对于一些别人认为 比较重要的数据来说 可就没有那么容易了 他们认为这些数据很重要 但是又不得不展示给 ...

  • 社保没交满15年的有救了!新规下,这5种方法一定要知道!

    在社保中,大家除了关注医保外,对养老金的关注度也很高,毕竟养老金是很多退休老人的主要生活来源. 我们都知道,只有当退休时缴纳了至少15年社保,才能拿到养老金.根据不同地区的不同规定,需要缴纳15年.2 ...

  • 健康早知道|老花眼年轻化 这几种方法让你彻底摘掉老花镜

    健康早知道|老花眼年轻化 这几种方法让你彻底摘掉老花镜

  • 书法这样写,越写越有味!(10种方法分享)

    在美学角度而言,书法是一种视觉造形艺术,讲究变化与造势.下面,我们总结书法10种变化,悟懂和实践这些变化,越写越清爽.越有味! 大 小 变 化 三个同样大小的字,笔划的粗细与多少差不多的,若相连在一起 ...

  • 危机时期管理业务的7种方法

    对于我们所有人来说,疫情是不确定的时期,现金流量很少的小型企业主尤其感到紧缩.为了帮助你确定如何在诸如冠状病毒等危机时期管理业务,我们与世界领先的管理专家进行沟通,以下是一些要点,Azides博士为你 ...

  • 不确定时期保持稳定招聘的5种方法

    在疫情这些不稳定的时期, 你如何才能维持稳定的招聘流程,并继续为候选人提供与目标和价值观一致的优质体验? 通过数字化,诚实的沟通,发展员工以及大量急需的同理心,这仍然是可能实现的,在不确定时期保持稳定 ...

  • 提高员工敬业度的11种方法

    组织必须对自己的业务计划以及在疫情爆发期间的工作方式进行大量调整.他们比以往任何时候都更加需要敬业的员工来度过这个充满挑战的时期,他们需要为马拉松而不是短跑做准备,这种全球性流行病不可能在一夜之间消失 ...

  • 降低员工流失率的21种方法

    尽管进行了数百年的创新,但对于当今的组织而言,不必要的员工流动仍然是一个大问题,我们写出21种简单的方法来帮助你降低员工流失率. 01 不要让员工无聊 即使你的员工疯狂地爱上了他们的工作,但在职业生涯 ...

  • HR专业发展的8种方法?

    我们都知道学习的好处.但是,我们也知道学习需要时间,通常是我们根本没有的时间.很难在日常通勤.日常工作.家务.与朋友和家人的宝贵时间周围找到学习的空间.但是,当我们忽略自己的专业发展时,我们就有被落伍 ...

  • 选择高价值HR项目的5种方法?

    选择高价值HR项目的5种方法?