爬取通过ajax动态加载的页面(实时监控华尔街见闻资讯与快讯)

学习了几天如何使用scrapy去爬取静态网站,今天尝试去爬取动态加载的网站。选取的网站是华尔街见闻,文中不会像往常一样大篇幅讲解每一步该如何做,而是探讨如何爬取。

这里写图片描述

这里写图片描述

在源代码中无法获得全部数据(有的根本没数据),但是通过下拉滑条可以看到网址不变但有数据加载出来,毫无疑问这就是动态加载的网页。以下讲解如何去寻找api接口取获取数据。

打开开发者工具,选择Network,刷新,选择XHR,如图。


这里写图片描述

你可以从头开始一个个点击,查看响应(响应是指如下图的工具台上的响应)是否是你想要的数据。要么就滑动滑条,看看新的请求中名字是否有类似的请求,一般就是。

这里我们针对区块链数据,如图:


这里写图片描述

然后我们查看消息头的url,如‘https ://api-prod.wallstreetcn.com/apiv1/content/lives?channel=blockchain-channel&client=pc&cursor=1518567654&limit=20’,

请求的参数有:

channel=blockchain-channel
client=pc
cursor=1518567654
limit=20

在浏览器中打开这个url,待定系数法删除某个参数,看看哪些是必须的。
由此可以猜测

limit=20应该是限制请求数据条数,可删;

client=pc字面意思应该是pc端;

channel=blockchain-channel这可能是指区块链相关数据,不可删;

cursor=1518567654初步怀疑要么在页面中,要么是上一个页面加载时附带的信息,查找后没找到。怀疑可能是时间戳,time模块验证果真是当前时间。可删,但实验后发现没有cursor最多可加载99条数据。

这只是针对区块链一个版块,其他都类似寻找即可,但找寻过程中发现了一个api提供和所有的数据。接口:https://api-prod.wallstreetcn.com/apiv1/content/lives/pc?limit=40

浏览器打开,最好装一个json相关的插件,方便查看数据。如图


这里写图片描述

看英文就能知道global,blockchain,a_stock,us_stock,forex ,commodity分别对应分为六大板块:宏观,区块链,A股,美股,外汇,商品。

就是这样的

再附上资讯的接口api:

看清了这是代码别直接粘贴了

'https://api-prod.wallstreetcn.com/apiv1/content/articles?category={}&limit=20&platform=wscn-platform'.format(p) for p in
['global','shares','commodities','china','us','europe','japan','charts','economy']

limit参数可人为控制,还有就是cursor参数。你能发现他返回的数据中带有display_time,next_cursor这样的数据,后者结合limit可访问下一时间段的数据。你自己指定当前时间戳到某一时间戳之间也没问题。

原创首发于 lzw2016的博客

欢迎关注

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • 以太坊(Ethereum ):下一代智能合约和去中心化应用平台 翻译:巨蟹 、少平 译者注:中文读者可以到以太坊爱...
    车圣阅读 9,230评论 1 7
  • 【中文版】以太坊白皮书 翻译:少平、 Seven当中本聪在 2009 年 1 月启动比特币区块链时,他同时向世界引...
    __Seven__阅读 9,825评论 0 10
  • 岁月如河 光阴流转 又是一年艾草香 汨罗江畔祭屈原 雄黄粽米显情意 凛然正气永流传 屈原 浪漫主义文学的开创者 一...
    我心依然_580a阅读 4,114评论 37 34
  • 介绍 通过 分布式系统系列文章,我们了解了分布式的一些基本概念,若是写点代码实践一下,那就更好了。先做个简单的实验...
    王谙然阅读 7,946评论 3 3

友情链接更多精彩内容