UWP 获取博客园积分,并以图标形式呈现变化趋势

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

UWP 获取博客园积分,并以图标形式呈现变化趋势

星期八再娶你   2019-12-24 我要评论

先看一下效果吧

 

 

1. 分析

说实话,之前还真没在乎过博客园的排名和积分,博客园默认也不给显示。需要自己到选项里面勾选才可以。

 

 之前也有几个大佬写过类似的文章,不过是很早了。博客园关于获取积分的api已经变了。

也不算是api吧,毕竟不是官方公开的。不过自己可以通过查看页面元素,找到博客园的积分url。

 

在你勾选✔了上面的选项之后,打开你的博客主页,比如我的就是https://www.cnblogs.com/hupo376787/

按F12,调出开发者工具,进入Network选项卡。

如果在下面的列表里面没有数据,F5刷新一下页面即可。

 

 

然后,点击【sidecolumn.aspx】,右侧就会出现相信的信息。

右击【sidecolumn.aspx】,【copy link address】,这个url就是我们要找的。

然后根据这个url返回的信息,我们利用正则表达式或者其他手段找到积分和排名的数据即可。

 

2. 写Xaml界面

既然根据上面的分析,可以拿到积分和排名的数据,那么写代码就简单多了。

我这里使用C#来写的,语言只是一种工具,你也可以用Java、Swift、JavaScript、Flutter等,还可以用Python写。

无论哪一种,只要能拿到数据,用图表展示出来即可。

在xaml中,定义一下用户名输入框,还有一个图表控件。

图表使用的Microcharts。这是一个开源的图表控件,Github上已经斩获1000多个✨✨✨✨✨✨✨✨✨✨

<StackPanel>
            <TextBox 
                x:Name="textBlockUser" 
                Background="Transparent"
                Padding="0, 5"
                BorderThickness="0"
                Width="200"
                HorizontalAlignment="Left"
                PlaceholderText="hupo376787"
                TextChanged="User_TextChanged"/>
            <TextBlock x:Name="textBlockDate"/>
            <TextBlock x:Name="textBlockScore"/>
            <TextBlock x:Name="textBlockRank"/>

            <charts:ChartView x:Name="microChart"
                              Height="300"/>
        </StackPanel>

 

3. 获取网页数据

利用HttpClient写代码,获取指定url的网页源代码。

user是文本框可以输入的用户id。

然后根据Http返回来的数据,做成一个List<string>。这样就不用写正则表达式查找

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们