吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4355|回复: 37
收起左侧

[其他原创] 集福助手-WPF

  [复制链接]
Naylor 发表于 2023-1-11 10:06
本帖最后由 Naylor 于 2023-1-12 15:23 编辑

背景

又到了一年一度得支付宝集福活动了,虽然现在得集福变得越来越容易,添加了更多得广告,没有太多意思,但是依然受到了广大网友的积极参与,可能是为了集福成功分享一个朋友圈,可能是为了情怀,反正不是为了那几毛钱。

本助手的作用就是快速找到不同的福字,用户运行次程序后只需点击下一张就可获取一个全新的福字。

介绍

集福助手采用WPF框架开发,目前仅支持Window平台运行,基于.NetFramework4.8开发,爬虫框架选用的是AngleSharp。

打开界面左边显示的是福字图片,用Image控件承载,右边是下一张的按钮,底部是使用说明。

为尽可能避免一切可能发生的不可控问题,本程序爬取间隙会设置程序休眠1s,当点击下一张后没有反应需要耐心等待几秒中。

pSmLp9g.png

代码

xaml代码


<Window x:Class="CollectionHappiness.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:CollectionHappiness"
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded">
    <Grid>
        <StackPanel>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="5*"></ColumnDefinition>
                    <ColumnDefinition Width="1*"></ColumnDefinition>
                </Grid.ColumnDefinitions>
                <Border  Grid.Column="0">
                    <Image  Height="300" Margin="20" Name="img" ></Image>
                </Border>
                <Button Grid.Column="1" Width="100" Height="80" Name="btn_next" Content="下一张" Click="btn_next_Click"></Button>
            </Grid>
            <Border>
                <TextBlock Text="使用说明:使用AngleSharp爬取视*中*网站得福字;点击下一张重新获取一个福字。有bug 欢迎交流" ></TextBlock>
            </Border>
        </StackPanel>
    </Grid>
</Window>

cs代码


using AngleSharp;
using AngleSharp.Common;
using AngleSharp.Dom;
using AngleSharp.Html.Parser;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace CollectionHappiness
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        const string prefix = "https:";
        static IHtmlCollection<AngleSharp.Html.Dom.IHtmlImageElement> images;
        static List<int> usedList = new List<int>();
        public MainWindow()
        {
            InitializeComponent();
        }
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            IConfiguration config = Configuration.Default.WithDefaultLoader().WithDefaultCookies();            
            var url = "https://www.vcg.com/creative-image/1694/";
            var context = BrowsingContext.New(config);
            Document doc = (Document)await context.OpenAsync(url);
            images = doc.Images;
            if (null != images && images.Length > 1)
            {
                this.img.Source = this.GetImg(images);
            }
        }
        private BitmapImage GetImg(IHtmlCollection<AngleSharp.Html.Dom.IHtmlImageElement> images)
        {
            int length = images.Length;
            Random random = new Random();
            int index = random.Next(0, length);
            AngleSharp.Html.Dom.IHtmlImageElement imgElement = images.GetItemByIndex(index);
            string dataSrc = imgElement.GetAttribute("data-src");
            if (null == dataSrc || dataSrc.Length <= 0 || usedList.Contains(index))
            {
                Thread.Sleep(1000);
                GetImg(images);
            }
            usedList.Add(index);
            return new BitmapImage(new Uri("https:" + dataSrc));
        }
        private void btn_next_Click(object sender, RoutedEventArgs e)
        {
            this.btn_next.IsEnabled = false;
            this.img.Source = this.GetImg(images);
            Thread.Sleep(1000);
            this.btn_next.IsEnabled = true;
        }
    }
}

说明

集福助手还有很多bug和隐藏问题,欢迎大家指出和交流,不喜勿喷。

下载

Debug.zip

1.06 MB, 下载次数: 428, 下载积分: 吾爱币 -1 CB

免费评分

参与人数 8吾爱币 +14 热心值 +6 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zxq1010117 + 1 + 1 热心回复!
debug_cat + 1 + 1 谢谢@Thanks!
C斯咚喃 + 1 + 1 感谢封装!
zzhaoxue + 1 + 1 热心回复!
xyg10300 + 1 成品呢这个不会用啊
ljili2003 + 1 + 1 谢谢@Thanks!
Xxxxi + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

psgh 发表于 2023-1-11 10:13
感谢分享
 楼主| Naylor 发表于 2023-1-12 08:57
Hmily 发表于 2023-1-11 18:16
@Naylor 这种问题版规和发帖弹窗提醒不都明确写了吗,要是违规你私聊发就不违规了?

还真没有细看,我待会研究研究

点评

你现在总该看看了把,那弹窗你不点确认都不能发帖,还能无视?  详情 回复 发表于 2023-1-12 10:15
逐雅斋 发表于 2023-1-11 10:12
曾心筝意 发表于 2023-1-11 10:14

感谢分享
gxhc168 发表于 2023-1-11 10:17
谢谢老大的分享
sun12345 发表于 2023-1-11 10:17
集福卡集福卡
lcwww 发表于 2023-1-11 10:18
学习了,以前都是去百度图片找福字,视觉中国的图想都没想过。想起视觉中国就想到吃相难看四个字,哈哈~
fangxiaolong 发表于 2023-1-11 10:19
感谢分享
小彬哥哥 发表于 2023-1-11 10:20

谢谢老大的分享
aceronethree 发表于 2023-1-11 10:25
十分感谢
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 23:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表