图形/曲线/柱状图 类的展示 的数据(canvas标签内) 如何 抓取?
例如:http://www.p2peye.com/platdata-63.html
使用HttpClient 应该不行吧,因为好像 拿到源码 也没什么用。
网页源码 没有数据,什么都没有。。
这种 图形 能不能 抓下来并且 还原成 原网站的效果?
我搜到有个 PhantomJS 开源工具 可以实现,但具体 如何做没有找到。。
求高人 指点。。
canvas作为一个绘图容器,本身是不带数据的,一般是通过ajax动态请求之后进行绘制。
chrome里按F12打开控制台,点Network标签,第二排点击小漏斗图标,第三排点击XHR,刷新页面,就可以看到当前页面的ajax请求了。
你给的网站里的一个ajax请求是:http://www.p2peye.com/platdata.php?&mod=item&type=seven_day&plat_id=63&ajax=1
返回数据为{"code":"200","message":"\u6570\u636e\u67e5\u8be2\u6210\u529f","data":{"totalcount":1,"platformame":"\u7ea2\u5cad\u521b\u6295","data":[{"biddingRank":{"value":3,"lable":"\u5e73\u5747\u6ee1\u6807"},"amountRank":{"value":1,"lable":"\u6210\u4ea4\u989d"},"rateRank":{"value":32,"lable":"\u5e73\u5747\u5229\u7387"},"loan_numRank":{"value":3,"lable":"\u501f\u6b3e\u4eba\u6570"},"invest_num":{"value":39261,"lable":"\u6295\u8d44\u4eba\u6570"},"total_loan_balanceRank":{"value":1,"lable":"\u7d2f\u8ba1\u8d37\u6b3e\u4f59\u989d"},"amount":{"value":"1628833538.77","lable":"\u6210\u4ea4\u989d"},"loan_periodRank":{"value":7,"lable":"\u5e73\u5747\u501f\u6b3e\u5468\u671f"},"loan_num":{"value":3373,"lable":"\u501f\u6b3e\u4eba\u6570"},"rate":{"value":0.1399,"lable":"\u5e73\u5747\u5229\u7387"},"invest_numRank":{"value":1,"lable":"\u6295\u8d44\u4eba\u6570"},"update_time":{"value":1432522706144,"lable":"\u6700\u540e\u66f4\u65b0\u65f6\u95f4"},"platform_name":{"value":"\u7ea2\u5cad\u521b\u6295","lable":"\u5e73\u53f0\u4e2d\u6587\u540d\u79f0"},"loan_period":{"value":1.15,"lable":"\u5e73\u5747\u501f\u6b3e\u5468\u671f"},"total_loan_balance":{"value":"16873044507.48","lable":"\u7d2f\u8ba1\u8d37\u6b3e\u4f59\u989d"},"bidding":{"value":21.79,"lable":"\u5e73\u5747\u6ee1\u6807\u65f6\u957f"}}]}}
这些是可以直接用HttpClient 获取的~
确实如此,应该就是 获取到 后台的json数据后自己再绘制 图形,没办法 获取 画好的图形,谢谢。
@assasszt: 要获取图形直接找到canvas对象,获取context,然后调用exportDataURL方法就行