前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬虫之数据获取的3种方法

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

作者头像
mixlab
发布2018-04-16 17:24:11
1.2K0
发布2018-04-16 17:24:11
举报

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

以下为正文:

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

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

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

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

技能之谷歌Chrome爬虫

可视化爬虫SPY

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

1

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

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

比如:www.wineyun.com

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

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

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

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

Ps:

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

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

2

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

比如huaban.com

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

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-06-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 科技Mix设计Lab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档