精华内容
下载资源
问答
  • parse下载内容不报错但是抓不下来数据,列表为空,不知道是哪儿原因 import requests from lxml import etree import random import time from urllib import parse class TiebaImageSpider(object): def init(self)...

    parse下载内容不报错但是抓不下来数据,列表为空,不知道是哪儿原因

    import requests
    from lxml import etree
    import random
    import time
    from urllib import parse

    class TiebaImageSpider(object):
    def init(self):
    self.url = “http://tieba.baidu.com/f?kw={}&pn={}”
    self.headers = {
    ‘User-Agent’: ‘Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/535.1(KHTML, like Gecko)Chrome/14.0.835.163 Safari/535.1’}

    # 功能函数,获取html
    def get_html(self, url):
        res = requests.get(url=url, headers=self.headers)
        html = res.content
        return html
    
    # 功能函数,解析
    def xpath_func(self, html, xpath_bds):
        parse_obj = etree.HTML(html)
        # print(parse_obj)
        r_list = parse_obj.xpath(xpath_bds)
        # print(r_list)
    
        return r_list
    
    # 做事情
    def parse_html(self, url):
        # 1.先提取帖子链接
        one_html = self.get_html(url).decode()
        xpath_bds = '//div[@class="t_con cleafix"]/div/div/div/a/@href'
        tlink_list = self.xpath_func(one_html, xpath_bds)
        # print(tlink_list)
        # for 遍历
        for tlink in tlink_list:
            tlink = "http://tieba.baidu.com" + tlink
            self.get_image(tlink)
    
    # 像帖子发请求+提取图片链接+像图片发请求+保存图片
    def get_image(self, tilnk):
        html = self.get_html(tilnk).decode()
        xpath_bds = '//li/div/div/div/div/img[@class="j_retract"]/@src'
        # //div[@class="d_post_content j_d_post_contenclearfix"]/img[@class["BDE_Image"]/@src
    
        img_link_list = self.xpath_func(html, xpath_bds)
        for img_link in img_link_list:
            # 保存图片
            self.save_image(img_link)
    
    def save_image(self, img_link):
        html = self.get_html(img_link)
        filename = img_link[-10:]
        with open(filename, 'wb') as f:
            f.write(html)
        print(filename, '下载成功')
    
    def run(self):
        name = input('贴吧名:')
        start = int(input('起始页:'))
        end = int(input('终止页:'))
        name = parse.quote(name)
        for page in range(start, end + 1):
            pn = (page - 1) * 50
            url = self.url.format(name, pn)
            self.parse_html(url)
            # print(self.parse_html(url))
    

    if name == ‘main’:
    spider = TiebaImageSpider()
    spider.run()

    展开全文
  • //download the new appprivate void downLoadNewApp(NewVersion.XianzaishiRfBean version) { if (StringUtils.isEmpty(version.getUrl())) { ToastUtils.showToast("新版本的APP url为空");
    //download the new appprivate void downLoadNewApp(NewVersion.XianzaishiRfBean version) {
    
            if (StringUtils.isEmpty(version.getUrl())) {
                ToastUtils.showToast("新版本的APP url为空");
                enterLoginActivity();
                return;
            }
    
            final ProgressDialog dialog = new ProgressDialog(this);
            dialog.setTitle("正在下载");
            dialog.setMessage(version.getDes() + "");
            dialog.setCancelable(false);
            dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
            dialog.show();
    
            if (!NetUtils.hasNet(SplashActivity.this)) {
                ToastUtils.showToast("请检查网络环境");
                return;
            }
    
            System.out.println("SplashActivity.downLoadNewApp=" + version.getUrl());
    
            OkHttpUtils
                    .get()
                    .url(version.getUrl())
                    .build()
                    .execute(new FileCallBack(Environment.getExternalStorageDirectory().getAbsolutePath(), Conts.NEW_APP_NAME) {
                        @Overridepublic void onError(Call call, Exception e, int id) {
                            enterLoginActivity();
                            System.out.println("SplashActivity.onError=哈哈哈");
                            ToastUtils.showToast("下载更新包失败");
                        }
    
                        @Overridepublic void inProgress(float progress, long total, int id) {
                            super.inProgress(progress, total, id);
                            dialog.setProgress((int) (100 * progress));
                        }
    
                        @Overridepublic void onResponse(File response, int id) {
    
                            Intent intent = new Intent();
                            intent.setAction(Intent.ACTION_VIEW);
                            intent.addCategory(Intent.CATEGORY_DEFAULT);
                            intent.setDataAndType(Uri.fromFile(response),
                                    "application/vnd.android.package-archive");
                            startActivityForResult(intent, 0);
                        }
                    });
        }

    展开全文
  • Android okhttputils显示下载进度

    千次阅读 2016-12-14 15:52:16
    //download the new app private void downLoadNewApp(NewVersion.XianzaishiRfBean version) { if (StringUtils.isEmpty(version.getUrl())) { ToastUtils.showToast("新版本的APP url为空");
    
        //download the new app
        private void downLoadNewApp(NewVersion.XianzaishiRfBean version) {
    
            if (StringUtils.isEmpty(version.getUrl())) {
                ToastUtils.showToast("新版本的APP url为空");
                enterLoginActivity();
                return;
            }
    
            final ProgressDialog dialog = new ProgressDialog(this);
            dialog.setTitle("正在下载");
            dialog.setMessage(version.getDes() + "");
            dialog.setCancelable(false);
            dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
            dialog.show();
    
            if (!NetUtils.hasNet(SplashActivity.this)) {
                ToastUtils.showToast("请检查网络环境");
                return;
            }
    
            System.out.println("SplashActivity.downLoadNewApp=" + version.getUrl());
    
            OkHttpUtils
                    .get()
                    .url(version.getUrl())
                    .build()
                    .execute(new FileCallBack(Environment.getExternalStorageDirectory().getAbsolutePath(), Conts.NEW_APP_NAME) {
                        @Override
                        public void onError(Call call, Exception e, int id) {
                            enterLoginActivity();
                            System.out.println("SplashActivity.onError=哈哈哈");
                            ToastUtils.showToast("下载更新包失败");
                        }
    
                        @Override
                        public void inProgress(float progress, long total, int id) {
                            super.inProgress(progress, total, id);
                            dialog.setProgress((int) (100 * progress));
                        }
    
                        @Override
                        public void onResponse(File response, int id) {
    
                            Intent intent = new Intent();
                            intent.setAction(Intent.ACTION_VIEW);
                            intent.addCategory(Intent.CATEGORY_DEFAULT);
                            intent.setDataAndType(Uri.fromFile(response),
                                    "application/vnd.android.package-archive");
                            startActivityForResult(intent, 0);
                        }
                    });
        }
    展开全文
  • 2、图片上传完成后显示样式 由此可看到图片上传已完成,返回的是图片URL 3、提交后控制台输出 ============================分割线===================================== 1、下载KindEditor 首先下载...

    首先上效果图

    1、编辑页面

    2、图片上传完成后显示样式

    由此可看到图片上传已完成,返回的是图片URL 

    3、提交后控制台输出

    ============================分割线=====================================

    1、下载KindEditor

    首先下载KindEditor,在此版本为4.1.11,点击下载

    2、新建项目

    使用idea新建SpringBoot项目,不做过多叙述。

    3、导入KindEditor

    所需文件及文件夹如下:

    4、新建html页面

    <!DOCTYPE HTML>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
        <title>添加文章</title>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <script src="jquery.min.js"></script>
        <script charset="utf-8" src="editor/kindeditor-all-min.js"></script>
        <script charset="utf-8" src="editor/lang/zh-CN.js"></script>
    </head>
    <body>
    <div style="margin-left: 20px">
        文章题目:<input class="form-control" id="title" style="width: 500px"/><br>
        <textarea name="content" class="common-textarea" id="content"
                  style="width:100%; height:380px;visibility:hidden;"></textarea>
    
        <a onclick="sub()" class="btn btn-primary">提交</a>
    </div>
    <script type="text/javascript">
        KindEditor.ready(function (K) {
            var editor = KindEditor.create('textarea[name="content"]', {
                uploadJson: '/fileUpload',
                fileManagerJson: '/fileManager',
                allowFileManager: true,
                items: ['source', '|', 'undo', 'redo', '|', 'preview', 'template', 'cut', 'copy', 'paste',
                    'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
                    'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
                    'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
                    'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
                    'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|', 'image', 'multiimage',
                    'flash', 'media', 'insertfile', 'table', 'hr', 'emoticons', 'baidumap', 'pagebreak',
                    'anchor', 'link', 'unlink'],
                //编辑器失去焦点(blur)时执行的回调函数。
                // =========必须要有==========
                afterBlur: function () {
                    this.sync();
                }
            });
        });
    
        function sub() {
            var html = $('#content').val();
            var title = $('#title').val();
            $.post("/add", {'content': html, 'title': title}, function (result) {
                alert("提交成功!");
            })
        }
    
    </script>
    </body>
    </html>

     5、Controller管理

    1)、图片上传

     @RequestMapping(value = "/fileUpload", method = RequestMethod.POST)
        @ResponseBody
        public Map<String, Object> fileUpload(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException,
                FileUploadException {
            ServletContext application = request.getSession().getServletContext();
    //        String savePath = application.getRealPath("/") + "/static/images/";
            String savePath = "I:/img/";
    
            // 文件保存目录URL
            String saveUrl = "http://localhost:8077/showImg?imgUrl=";
    
            // 定义允许上传的文件扩展名
            HashMap<String, String> extMap = new HashMap<String, String>();
            extMap.put("image", "gif,jpg,jpeg,png,bmp");
            extMap.put("flash", "swf,flv");
            extMap.put("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb");
            extMap.put("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");
    
            // 最大文件大小
            long maxSize = 1000000;
    
            response.setContentType("text/html; charset=UTF-8");
    
            if (!ServletFileUpload.isMultipartContent(request)) {
                return getError("请选择文件。");
            }
            // 检查目录
            File uploadDir = new File(savePath);
            if (!uploadDir.isDirectory()) {
                uploadDir.mkdir();
            }
            // 检查目录写权限
            if (!uploadDir.canWrite()) {
                return getError("上传目录没有写权限。");
            }
    
            String dirName = request.getParameter("dir");
            if (dirName == null) {
                dirName = "image";
            }
            if (!extMap.containsKey(dirName)) {
                return getError("目录名不正确。");
            }
            // 创建文件夹
            savePath += dirName + "/";
            saveUrl += dirName + "/";
            File saveDirFile = new File(savePath);
            if (!saveDirFile.exists()) {
                saveDirFile.mkdirs();
            }
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
            String ymd = sdf.format(new Date());
            savePath += ymd + "/";
            saveUrl += ymd + "/";
            File dirFile = new File(savePath);
            if (!dirFile.exists()) {
                dirFile.mkdirs();
            }
    
            FileItemFactory factory = new DiskFileItemFactory();
            ServletFileUpload upload = new ServletFileUpload(factory);
            upload.setHeaderEncoding("UTF-8");
    
    
            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
            Iterator item = multipartRequest.getFileNames();
            while (item.hasNext()) {
                String fileName = (String) item.next();
                MultipartFile file = multipartRequest.getFile(fileName);
                // 检查文件大小
                if (file.getSize() > maxSize) {
                    return getError("上传文件大小超过限制。");
                }
                // 检查扩展名
                String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1).toLowerCase();
                if (!Arrays.asList(extMap.get(dirName).split(",")).contains(fileExt)) {
                    return getError("上传文件扩展名是不允许的扩展名。\n只允许"
                            + extMap.get(dirName) + "格式。");
                }
                SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
                String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;
                try {
                    File uploadedFile = new File(savePath, newFileName);
                    ByteStreams.copy(file.getInputStream(), new FileOutputStream(uploadedFile));
                } catch (Exception e) {
                    return getError("上传文件失败。");
                }
                Map<String, Object> msg = new HashMap<String, Object>();
                msg.put("error", 0);
                msg.put("url", saveUrl + newFileName);
                return msg;
            }
            return null;
        }

    2)、图片读取

     @RequestMapping(value = "/showImg", method = RequestMethod.GET)
        public void ioReadImage(String imgUrl, HttpServletResponse response) throws IOException {
            ServletOutputStream out = null;
            FileInputStream ips = null;
            String upload = null;
    
            try {
                //获取图片存放路径
                String imgPath = "I:/img" + "/" + imgUrl;
                ips = new FileInputStream(new File(imgPath));
                String type = imgUrl.substring(imgUrl.indexOf(".") + 1);
                if ("png".equals(type)) {
                    response.setContentType("image/png");
                }
                if ("jpeg".equals(type)) {
                    response.setContentType("image/jpeg");
                }
                out = response.getOutputStream();
                //读取文件流
                int len = 0;
                byte[] buffer = new byte[1024 * 10];
                while ((len = ips.read(buffer)) != -1) {
                    out.write(buffer, 0, len);
                }
                out.flush();
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                out.close();
                ips.close();
            }
        }

    3)、图片管理预览

    @RequestMapping(value = "/fileManager", method = RequestMethod.GET)
        public void fileManager(HttpServletRequest request,
                                HttpServletResponse response) throws ServletException, IOException {
            ServletContext application = request.getSession().getServletContext();
            ServletOutputStream out = response.getOutputStream();
            /*// 根目录路径,可以指定绝对路径,比如 /var/www/attached/
            String rootPath = application.getRealPath("/") + "images/";
            // 根目录URL,可以指定绝对路径,比如 http://www.yoursite.com/attached/
            String rootUrl = request.getContextPath() + "/images/";*/
            String rootPath = "I:/img/";
            String rootUrl = "http://localhost:8080/kindeditor/showImg?imgUrl=";
            // 图片扩展名
            String[] fileTypes = new String[]{"gif", "jpg", "jpeg", "png", "bmp"};
            String dirName = request.getParameter("dir");
            if (dirName != null) {
                if (!Arrays.<String>asList(
                        new String[]{"image", "flash", "media", "file"})
                        .contains(dirName)) {
                    out.println("Invalid Directory name.");
                    return;
                }
                rootPath += dirName + "/";
                rootUrl += dirName + "/";
                File saveDirFile = new File(rootPath);
                if (!saveDirFile.exists()) {
                    saveDirFile.mkdirs();
                }
            }
            // 根据path参数,设置各路径和URL
            String path = request.getParameter("path") != null ? request
                    .getParameter("path") : "";
            String currentPath = rootPath + path;
            String currentUrl = rootUrl + path;
            String currentDirPath = path;
            String moveupDirPath = "";
            if (!"".equals(path)) {
                String str = currentDirPath.substring(0,
                        currentDirPath.length() - 1);
                moveupDirPath = str.lastIndexOf("/") >= 0 ? str.substring(0,
                        str.lastIndexOf("/") + 1) : "";
            }
    
            // 排序形式,name or size or type
            String order = request.getParameter("order") != null ? request
                    .getParameter("order").toLowerCase() : "name";
    
            // 不允许使用..移动到上一级目录
            if (path.indexOf("..") >= 0) {
                out.println("Access is not allowed.");
                return;
            }
            // 最后一个字符不是/
            if (!"".equals(path) && !path.endsWith("/")) {
                out.println("Parameter is not valid.");
                return;
            }
            // 目录不存在或不是目录
            File currentPathFile = new File(currentPath);
            if (!currentPathFile.isDirectory()) {
                out.println("Directory does not exist.");
                return;
            }
            // 遍历目录取的文件信息
            List<Hashtable> fileList = new ArrayList<Hashtable>();
            if (currentPathFile.listFiles() != null) {
                for (File file : currentPathFile.listFiles()) {
                    Hashtable<String, Object> hash = new Hashtable<String, Object>();
                    String fileName = file.getName();
                    if (file.isDirectory()) {
                        hash.put("is_dir", true);
                        hash.put("has_file", (file.listFiles() != null));
                        hash.put("filesize", 0L);
                        hash.put("is_photo", false);
                        hash.put("filetype", "");
                    } else if (file.isFile()) {
                        String fileExt = fileName.substring(
                                fileName.lastIndexOf(".") + 1).toLowerCase();
                        hash.put("is_dir", false);
                        hash.put("has_file", false);
                        hash.put("filesize", file.length());
                        hash.put("is_photo", Arrays.<String>asList(fileTypes)
                                .contains(fileExt));
                        hash.put("filetype", fileExt);
                    }
                    hash.put("filename", fileName);
                    hash.put("datetime",
                            new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(file
                                    .lastModified()));
                    fileList.add(hash);
                }
            }
    
            if ("size".equals(order)) {
                Collections.sort(fileList, new SizeComparator());
            } else if ("type".equals(order)) {
                Collections.sort(fileList, new TypeComparator());
            } else {
                Collections.sort(fileList, new NameComparator());
            }
            Map<String, Object> msg = new HashMap<String, Object>();
            msg.put("moveup_dir_path", moveupDirPath);
            msg.put("current_dir_path", currentDirPath);
            msg.put("current_url", currentUrl);
            msg.put("total_count", fileList.size());
            msg.put("file_list", fileList);
            response.setContentType("application/json; charset=UTF-8");
            String msgStr = objectMapper.writeValueAsString(msg);
            out.println(msgStr);
        }
    
        class NameComparator implements Comparator {
            @Override
            public int compare(Object a, Object b) {
                Hashtable hashA = (Hashtable) a;
                Hashtable hashB = (Hashtable) b;
                if (((Boolean) hashA.get("is_dir"))
                        && !((Boolean) hashB.get("is_dir"))) {
                    return -1;
                } else if (!((Boolean) hashA.get("is_dir"))
                        && ((Boolean) hashB.get("is_dir"))) {
                    return 1;
                } else {
                    return ((String) hashA.get("filename"))
                            .compareTo((String) hashB.get("filename"));
                }
            }
        }
    
        class SizeComparator implements Comparator {
            @Override
            public int compare(Object a, Object b) {
                Hashtable hashA = (Hashtable) a;
                Hashtable hashB = (Hashtable) b;
                if (((Boolean) hashA.get("is_dir"))
                        && !((Boolean) hashB.get("is_dir"))) {
                    return -1;
                } else if (!((Boolean) hashA.get("is_dir"))
                        && ((Boolean) hashB.get("is_dir"))) {
                    return 1;
                } else {
                    if (((Long) hashA.get("filesize")) > ((Long) hashB
                            .get("filesize"))) {
                        return 1;
                    } else if (((Long) hashA.get("filesize")) < ((Long) hashB
                            .get("filesize"))) {
                        return -1;
                    } else {
                        return 0;
                    }
                }
            }
        }
    
        class TypeComparator implements Comparator {
            @Override
            public int compare(Object a, Object b) {
                Hashtable hashA = (Hashtable) a;
                Hashtable hashB = (Hashtable) b;
                if (((Boolean) hashA.get("is_dir"))
                        && !((Boolean) hashB.get("is_dir"))) {
                    return -1;
                } else if (!((Boolean) hashA.get("is_dir"))
                        && ((Boolean) hashB.get("is_dir"))) {
                    return 1;
                } else {
                    return ((String) hashA.get("filetype"))
                            .compareTo((String) hashB.get("filetype"));
                }
            }
        }

    4)、图片地址保存

    @ResponseBody
        @PostMapping(value = "add")
        public void add(String content, String title){
            System.out.println("标题" + title + ", 内容" + content);
        }

    =====================================分割线=============================================

    Demo下载地址:https://download.csdn.net/download/zgsdzczh/11170980

    展开全文
  • 参数 新顶边, 整数型, 可, 不留空为设定,留空为取。 .子程序 窗口_高度, 整数型, 公开, 设定或取得Flash窗口相对于父窗口的高度。 .参数 新高度, 整数型, 可, 不留空为设定,留空为取。 .子程序 窗口_挂接...
  • //伪静态地址后缀 正确格式: .html .php .htm 或者为空 4 上传所有文件到服务器。   升级: 升级前请先备份你的数据库。 这一次我将数据库的表名和字段名全部修改为小写。新增一个下载记录表和几个字段。 1 ...
  • 待抓取页面的列表,如果这个列表不为空,则抓取这个列表,忽略url和link base: String(可空) 链接的前缀 title: String 文章页面的标题选择器 content: String 文章页面的内容选择器 remove: String(可空...
  • 如果根据url获取到的listenersnull,会put进去一个的List并传给ProgressRequestBody/ProgressResponseBody。</p><p>该提问来源于开源项目:JessYanCoding/ProgressManager</p></div>
  • 前提是当播放列表存在歌曲且不为空的情况下. CTRL ALT O:开始播放歌曲. CTRL ALT S:停止播放歌曲. CTRL ALT P:播放上一首歌曲. CTRL ALT N:播放下一首歌曲. 标签自定义长度(config.ini->[RunData]->TabWidth=...
  • 自定义字段功能,可设置字段表单的形式,如单行、多行文本,单选、多选按钮,单行、多行下拉,隐藏等,可指定默认值,值为空时是否用默认值代替,可设置字段是否可采集,是否在编辑界面隐藏等. 前台全部生成静态页面,前台...
  • // 如果文件名不为空,则进行下载 if (fileName != null) { //设置文件路径 String realPath = "upload/excel/"; //服务器路径 File file = new File(realPath, fileName); System....
  • 显示所有分区的剩余空间(以MB单位).cmd 显示本机用户帐号信息.cmd 显示某两个字符及其之间的字符.cmd 显示用户名.bat 显示磁盘分区数.cmd 显示网络配置.bat 显示翻滚字符.bat 显示进度.bat 显示进度.cmd 显示...
  • 4) 修改静态编译后“读配置项”命令在第三个参数“配置项名称”为空文本时导致程序崩溃的BUG 5) 修改高级选择夹中的组件在窗口载入后强制得到焦点的BUG 6) 修改MYSQL支持库跨静态编译的EXE和DLL传递连接句柄和...
  • 更改为: 当文件内容为空时,服务端给出"文件内容为空"的提示,并关闭上传菜单。 2)修正当插入Word文件,未选定文件而直接点击导入编辑时,没有任何提示且上传菜单仍然存在的问题。 更改为: 当未选择上传文件时,...
  • 新增分类页面关键词留空则默认调用分类名,不为空则调用分类名 Gravatar选择:可以是官方ssl,可以是默认,可以是多说 聚合文章小工具:侧栏聚合文章小工具新增显示纯图片模式; 列表模式:列表模式新增4图模式 特别...
  • $result = array("code"=>-1,"msg"=>"手机号或验证码不能为空!"); }elseif(!preg_match("/^1[34578]{1}\d{9}$/",$shouji)){ $result = array("code"=>-2,"msg"=>"手机号不合法!"); }elseif($code != $_...
  • isEmpty : 判断数组是否为空 search : 在数组objects中搜索元素element selectSort : 选择排序 insertSort : 插入排序 bubbleSort : 冒泡排序 recursiveSort : 递归快速排序 fastStackSort : 栈快速排序 upsideDown ...
  • 修复当请求参数@RequestBody 时,参数类型显示不正确问题。 新增直接从请求路径中获取 Swagger JSON,多项目下API文档生成。 解决中文乱码问题。 真诚感谢 NealLemon 的代码贡献。 版本: SwaggerToWord 1.4.2 ...
  • -u REQUESTURL 设定目标URL, 示例. -u="https://www.test.com/login.php" -f REQUESTFILE 从文件导入HTTP请求 -https 当从文件导入HTTP请求时,启用https(SSL) -get 使用GET方法,默认: POST -...
  • 自定义RecyclerView下拉刷新上拉加载,支持加载loading,页面,异常界面,有数据界面状态切换 缓存使用Realm数据库,做数据的增删改查 状态管理库与Activity和Fragment结合,可以自由切换不同的状态 3.3 项目...
  • 下载 js-valid.js 文件放到项目中即可。 使用说明 本插件的使用方法基本和在 element-ui 中使用 async-validator 类似。 第一步:在您的项目中引入 JS-Valid <script src="/js-valid.js"></script> ...
  • url是图片路径,这样绑定后,这个ImageView就会去显示这张图片,不限网络图片还是本地图片。 如果需要给一个默认加载中的图片,可以加这一句 binding:placeholderRes="@{R.mipmap.ic_launcher_round}" R文件需要在...
  • 动态模版, view 被选中, 可从 e.detail.view 获取点击的 view,如为空,则是选中背景 否 touchEnd function 动态模版,触碰结束。只有 view,代表触碰的对象;包含 view、type、index,代表点击了删除 icon; ...
  • |字段名| 字段类型| 是否可为空| 备注 |:------:|:------:|:------:|:------:| | Id| Int(11) | 否| 主键 |Modify| Datetime| 是| 修改时间 |Display| Int | 否| 是否被删除 |Uid| Int | 否| 用户id |Qid| Int | ...
  • toolbars :配置你想显示的工具栏,取值mini,normal,full,代表小,一般,全部。如果默认的工具栏的按钮数量不符合您的要求,您可以在settings里面配置自己的显示按钮。参见后面介绍。 imagePath :图片上传后保存...
  • 2、注意程序是有去重功能的,所以要清空数据重新跑的话一定要把redis的去重队列删掉,否则起始ID被记录为已爬的话也会出现抓取为空的现象。清空redis数据 运行cleanRedis.py即可。 3、另外,微博开始对IP有限制了,...
  • 显示为 李四:这是一个全局状态。 如果在 template 文件中使用,需在属性 data 中引用$state <!-- 这是一个template --> <template name="t1"> <view>{{$state.msg}}</view> </template...
  •  将图片标签放在窗体底层面板,然后将窗体转化JPan的容器,将JPan设透明,背景图片就设置好了,之后就可以直接在该JPan中添加组件* package com.bluerabbit.librarysystem.view; import java.awt.Font; import...
  • 文章围绕着在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,图文并茂生动有趣,非常推荐! 《图解 HTTP》 也是一名日本作者写的。这本书对 HTTP 协议进行了全面系统的介绍,列举了很多常见...
  • 互联网架构什么要做服务化 微服务架构技术栈 分布式理论:CAP 是三选二吗? 使用LCN框架解决分布式事物 百度开源的分布式 id 生成器 大型分布式电商系统的订单生成策略 分布式事务综述 分布式事务...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 156
精华内容 62
热门标签
关键字:

下载显示url为空