javascript - 爬虫 实时变化的span该如何抓取

查看:204
本文介绍了javascript - 爬虫 实时变化的span该如何抓取的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

请问比如这个外汇牌价, 是实时变化的<span>,能抓取吗? bs4似乎并不行
https://www.easymarkets.com/e...
周末休市,所以现在牌价不变了。。。

解决方案

嗯,看了这个网页很久发现一件事儿,
标签//*[@id="em_div_1_0"]/div/div[2]/div[2]/div[1]/div/div[1]/div[7]/div[1]/div/button/div[2]/span确实是在变化,但是不妨碍抓取
理由:标签的CLASS属性不会随着text的改变而改变。而且这个标签在页面内是唯一的。

很尴尬一点是并没有数据
<div class="ticket-open-deal-container-sell-current-rate"><span class="ticket-open-deal-label-sell-current-rate"></span></div>

这时候反应到这是一个异步加载的页面,使用到了AJAX。打开Chrome,进入页面,开发者选项Network->XHR。找到了一条很关键的:
https://chn.easymarkets.com/api/jsapiservice.svc/?rq=%5B%7B%22action%22%3A%22GetMarketInfoRates%22%2C%22args%22%3A%7B%22fetchOnlyRequestedCps%22%3Atrue%2C%22symbolsSet%22%3A%5B%22EURUSD%22%2C%22GBPUSD%22%2C%22AUDUSD%22%2C%22USDJPY%22%2C%22OILUSD%22%2C%22BRTUSD%22%2C%22WHTUSD%22%2C%22NGSUSD%22%2C%22DAXEUR%22%2C%22CNXUSD%22%2C%22NDQUSD%22%2C%22HSXHKD%22%2C%22XAUUSD%22%2C%22XAGUSD%22%2C%22CPRUSD%22%2C%22XPTUSD%22%2C%22EURJPY%22%5D%7D%7D%5D&sid=3675_d3c94ed0-2500-4e73-b08c-193eac587be1&timestamp=1478434567412&appid=CA7D0F97-F865-4D89-9983-409E5EE5DDF3,他的返回值包括了信息,并且其中timestamp字段为当前时间戳。

题主可以测试测试,或者去访问图表对应的借口~

这篇关于javascript - 爬虫 实时变化的span该如何抓取的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆