基于微信小程序+爬虫制作一个表情包小程序(代码片段)

摔跤猫子 摔跤猫子     2023-04-12     408

关键词:

跟朋友聊天斗图失败气急败坏的我选择直接制作一个爬虫表情包小程序,从源头解决问题,从此再也不用担心在斗图中落入下风
精彩专栏持续更新↓↓↓
微信小程序实战开发专栏

一、API

1.1 项目创建

  1. 打开Visual Studio,创建新项目,选择ASP.NET Web应用程序(.NET Framework)。

  1. 填写项目名称及选择对应的保存位置,框架版本我们这里选择4.7.2。

  1. 选择MVC用它来搭建API接口,其他的选项默认即可。

1.2 图片爬虫帮助类

在Models文件夹创建一个DownLoad实体类,定义好初始化请求时所需要的属性

定义两个函数,用于判断传入的URL是否满足和存在

定义发送请求的函数

        private void RequestResource(int index)
        
            int depth;
            string url = "";
            try
            
                lock (_locker)
                
                    if (_urlsUnload.Count <= 0)//判断是否还有未下载的URL
                    
                        _workingSignals.FinishWorking(index);//设置工作实例的状态为Finished
                        return;
                    
                    _reqsBusy[index] = true;
                    _workingSignals.StartWorking(index);
                    depth = _urlsUnload.First().Value;
                    url = _urlsUnload.First().Key;
                    _urlsLoaded.Add(url, depth);
                    _urlsUnload.Remove(url);
                

                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
                req.Method = "Get"; //请求方法
                req.Accept = "text/html"; //接受的内容
                req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)"; //用户代理
                RequestState rs = new RequestState(req, url, depth,index);//回调方法的参数
                var result = req.BeginGetResponse(new AsyncCallback(ReceivedResource), rs);//异步请求
                ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle,
                        TimeoutCallback, rs, _maxTime, true);
            
            catch (WebException we)
            
                MessageBox.Show("RequestResource " + we.Message + url + we.Status);
            
        

定义处理请求的响应函数

将读取的数据保存到本地,图片名称可以自定义,也可以根据下标来递增

1.3 测试窗体

函数定义好后,先创建一个窗体测试功能是否能够满足爬取的需求,在现有项目中右击选择新建项目,搜索框输入winform,选择windows窗体应用,跟现有项目创建在同一个目录文件夹下即可

窗体主要有两个文本框、以及一个ListBox列表,用于填写所爬网址以及保存位置,同时在下方提供两个按钮

双击开始爬图按钮,生成对应的点击事件

private void beginDownload_Click(object sender, EventArgs e)

    

在事件中获取文本框所输入的爬取地址以及下载保存地址

启动项目测试是否能够正常访问,表情包下载的网址大家可以在网上直接搜索,这里就不写出来了

1.4 接口封装

图片爬虫功能没有问题之后就在Controllers文件夹新建一个控制器,同时实现对应的动作方法,接收参数弄一个表情包关键字跟一个目标网址即可

public IActionResult DownLoadImage(string sence, string url)

    var result = DownLoad.crawler(sence, url);
    return Json();

二、小程序

2.1 项目创建

小程序账号申请及项目创建可参考该专栏其他文章步骤内容,这里不再赘述

2.2 页面设计

页面设计主要由搜索框、表情包瀑布流、图片保存按钮组成

<view class="cu-bar bg-white search ">
    <view class="search-form round">
        <text class="cuIcon-search"></text>
        <input type="text" placeholder="表情包关键字或目标网址" confirm-type="search"></input>
    </view>
    <view class="action">
        <view class="cu-btn bg-gradual-green shadow-blur round">搜索</view>
    </view>
</view>

2.3 接口调用

在JS中获取文本框输入的关键字并调用上述步骤所定义的接口

wx.request(
  url: 'https://localhost:44382/home/DownLoadImage',
  method: 'post',
  dataType: "json",
  success: function (res) 
    
  
);

通过setData的方式将其展示在页面上

that.setData(
	list:res.data
);

2.4 保存至手机

这里可以使用wx.saveImageToPhotosAlbum函数,在界面点击item的时候将url作为参数进行传递,并调用下方函数

wx.saveImageToPhotosAlbum(
            filePath: res.filePath,
            success: function (data) 
              wx.hideLoading()
              wx.showToast(
                title: '保存成功',
                icon: 'success',
                duration: 2000
              )
)

微信小程序爬虫表情包小程序图文视频教学,从零写起,保姆教程!!!(代码片段)

文章目录🌊前言爬取分析视频教学成果展示💖福利🌊Java入门到就业学习路线规划🌊小白快速入门Python爬虫路线🌊前言Code皮皮虾一个沙雕而又有趣的憨憨少年,和大多数小伙伴们一样喜欢听歌、游戏ÿ... 查看详情

微信小程序emoji表情输入框制作(代码片段)

...小程序表情列表输入演示源码链接放到了最底部实现思路微信小程序默认支持emoji表情表情与文字类似,不同的是一个表情占用四个字节,于是可以直接复制到代码中因为一个表情为四个字节,在后端存储时,表... 查看详情

微信小程序|基于小程序+c#制作一个聊天系统(代码片段)

此文主要基于小程序+C#使用WebSocket制作一个聊天系统,基本实现小程序与服务端的聊天功能。用小程序自带的客服功能只能绑定微信且一对一沟通,接入市面上成熟的即时通讯预算又略显不足,干脆自己开发一个... 查看详情

微信小程序emoji表情输入框制作(代码片段)

...小程序表情列表输入演示源码链接放到了最底部实现思路微信小程序默认支持emoji表情表情与文字类似,不同的是一个表情占用四个字节,于是可以直接复制到代码中因为一个表情为四个字节,在后端存储时,表... 查看详情

json笔记:「饭否精选·日历」微信小程序制作记录-爬虫部分:0。饭否精选格式样本(代码片段)

查看详情

微信小程序|基于小程序+云开发制作一个菜谱小程序

今天吃什么?这是一个让强迫症左右为难的问题,跟随此文基于小程序+云开发制作一个菜谱小程序,根据现有食材一键生成菜谱,省心又省力。一、小程序1.创建小程序</ 查看详情

微信小程序搜索优化指南(seo)(代码片段)

前言其实在2019年上半年,微信就发布了基于小程序页面的搜索。为了更好地发现及理解小程序的页面,结合过去一段时间来我们遇到的各种情况,强烈建议各位开发者花一些宝贵的时间认真阅读本文。小程序爬虫爬虫访问小程... 查看详情

微信小程序|基于小程序+c#制作一个考试答题小程序

基于小程序+C#制作一个考试答题小程序打破传统线下考试答题的边界线问题,使考试不用再局限与某个统一的场所,只要有设备,哪里都能考试。一、小程序 查看详情

微信小程序|基于云数据库的许愿墙(代码片段)

CSDN话题挑战赛第2期参赛话题:学习笔记 本实训项目以云开发的云数据库为基础,制作一个简易的许愿墙。01、实训内容本实训项目以云开发的云数据库为基础,制作一个简易的许愿墙,顾名思义“云数据库”就... 查看详情

微信表情包小程序,更新登录接口,增加举牌功能

简介:前期准备:1、注册小程序,准备服务器域名这些就不多说了2、后台环境Nginx1.18.0+PHP-7.2+mysql5.6开启sslphp需要安装sg11扩展3、网站目录指向public4、设置伪静态5、搭建安装教程在压缩包文档里自行观看小程序... 查看详情

微信小程序,python爬虫抓包采集实战,采集某成考题库小程序(代码片段)

...实战编码⛳️实战场景从本篇博客开始,我们会针对微信小程序编写一系列的爬虫,这些爬虫依旧通过案例进行串联,保证对大家的学习有所帮助。正式开始前先准备工具,一个可以解析https协议请求的软件fiddler&... 查看详情

微信小程序,python爬虫抓包采集实战,采集某成考题库小程序(代码片段)

...实战编码⛳️实战场景从本篇博客开始,我们会针对微信小程序编写一系列的爬虫,这些爬虫依旧通过案例进行串联,保证对大家的学习有所帮助。正式开始前先准备工具,一个可以解析https协议请求的软件fiddler&... 查看详情

微信小程序|使用小程序制作一个核酸检测点查询工具(代码片段)

...点查询、地图导航、拨号等功能。小程序创建小程序访问微信公众平台,点击账号注册。选择小程序 查看详情

基于springboot+微信小程序的壁纸小程序(代码片段)

基于SpringBoot+微信小程序的壁纸小程序✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌🍅文末... 查看详情

微信小程序实训|基于云数据库的语文听写工具(代码片段)

...具,页面效果如图1所示。 ▍图1“听写小助手”页面基于云开发的微信小程序具有众多优势,云开发模式真正解放了开发者,使得开发效率大大提升,其模式下的小程序开发和交付流程也更加便捷;云开发建... 查看详情

非常火的斗图表情包小程序源码

...的版本。后端源码采用的是ThinkCMF6.0的框架,前端是微信原生的代码,后端服务器配置推荐:Nignx1.18+MySQL5.6+PHP7.2。内含前台原生源码,后台源码&#x 查看详情

微信小程序使用swiper制作一个滑动导航(代码片段)

最近在做一个导航的时候,发现使用overflow-x:auto来做多内容滑动导航效果很不好,思索是不是可以使用swiper来做一个,研究了下其实发现原理基本相同这里说下,要用swiper做导航菜单,有几个要特别注意的参数1:autoplay,官方说... 查看详情

微信小程序|使用小程序制作一个节日祝福生成器(代码片段)

...你的祝福脱颖而出吧。二、实现步骤2.1、创建小程序访问微信公众平台,点击账号注册。选择小程序,并在表单填写所需的各项信息进行注册。在 查看详情