UWP 获取博客园积分,并以图标形式呈现变化趋势
星期八再娶你 人气:0先看一下效果吧
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>。这样就不用写正则表达式查找
加载全部内容
- 猜你喜欢
- 用户评论