zoukankan      html  css  js  c++  java
  • c# 解析百度图片搜索结果json中objURL图片原始地址

    // http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&fp=result&queryWord=mm&cl=2&lm=-1&ie=utf-8&oe=utf-8&st=-1&ic=0&word=mm&face=0&istype=2&nc=1&pn=120&rn=60&gsm=3c&1521787928351=&callback=angular.callbacks._0

    using System;

    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;
    namespace WpfApplication1
    {
        public class Utils
        {
            public static string baidtu_uncomplie(string str)
            {   //ippr_z2C$qAzdH3FAzdH3Ft429_z&e3B17tpwg2_z&e3Bv54AzdH3F7rs5w1fAzdH3Ftpj4AzdH3Fda89acAzdH3FdnAzdH3Fda89acdn8mc099_GWcwo_z&e3B3rj2
                string[] c = { "_z2C$q", "_z&e3B", "AzdH3F" };
                Dictionary<String, String> d = new Dictionary<string, string>();
                d.Add("w", "a"); d.Add("k", "b"); d.Add("v", "c"); d.Add("1", "d"); d.Add("j", "e"); d.Add("u", "f"); d.Add("2", "g");
                d.Add("i", "h"); d.Add("t", "i"); d.Add("3", "j"); d.Add("h", "k"); d.Add("s", "l"); d.Add("4", "m"); d.Add("g", "n");
                d.Add("5", "o"); d.Add("r", "p"); d.Add("q", "q"); d.Add("6", "r"); d.Add("f", "s"); d.Add("p", "t"); d.Add("7", "u");
                d.Add("e", "v"); d.Add("o", "w"); d.Add("8", "1"); d.Add("d", "2"); d.Add("n", "3"); d.Add("9", "4"); d.Add("c", "5");
                d.Add("m", "6"); d.Add("0", "7"); d.Add("b", "8"); d.Add("l", "9"); d.Add("a", "0"); d.Add("_z2C$q", ":"); d.Add("_z&e3B", "."); d.Add("AzdH3F", "/");
                if (!(str != null) || str.Contains("http"))
                    return str;
                string j = str;
                foreach (string s in c)
                {
                    j = j.Replace(s, d[s]);
                }
                string[] arr = SplitByLen(j, 1);
                for (int i = 0; i < arr.Length; i++)
                {
                    try
                    {
                        if (Regex.IsMatch(d[arr[i]], @"^[a-wd]+$"))
                        {
                            arr[i] = d[arr[i]];
                        }
                    }
                    catch     //不匹配的不做处理:   ".   :   /"
                    {
                    }
                }
                string url = string.Join("", arr);
                return url;
            }
            //字符串按长度截图
            private static string[] SplitByLen(string str, int separatorCharNum)
            {
                if (string.IsNullOrEmpty(str) || str.Length <= separatorCharNum)
                {
                    return new string[] { str };
                }
                string tempStr = str;
                List<string> strList = new List<string>();
                int iMax = Convert.ToInt32(Math.Ceiling(str.Length / (separatorCharNum * 1.0)));//获取循环次数    
                for (int i = 1; i <= iMax; i++)
                {
                    string currMsg = tempStr.Substring(0, tempStr.Length > separatorCharNum ? separatorCharNum : tempStr.Length);
                    strList.Add(currMsg);
                    if (tempStr.Length > separatorCharNum)
                    {
                        tempStr = tempStr.Substring(separatorCharNum, tempStr.Length - separatorCharNum);
                    }
                }
                return strList.ToArray();
            }
            //调用:Utils.baidtu_uncomplie("ippr_z2C$qAzdH3FAzdH3Ft429_z&e3B17tpwg2_z&e3Bv54AzdH3F7rs5w1fAzdH3Ftpj4AzdH3Fda89acAzdH3FdnAzdH3Fda89acdn8mc099_GWcwo_z&e3B3rj2")
        }
    }
  • 相关阅读:
    玩转 SpringBoot 2 快速整合 | FreeMarker篇
    微服务简单说
    玩转 SpringBoot 2 快速整合 | JSP 篇
    SpringBoot中获取微信用户信息从未如此简单!
    玩转 SpringBoot 2 快速整合 Filter
    oc语言的Foundation框架(学习笔记1)
    【PyInstaller安装及使用】将py程序转换成exe可执行程序
    【Django】Apache上运行单个Django项目,mod_wsgi配置
    【Django】基于Django架构网站代码的目录结构
    拖延症与自控力
  • 原文地址:https://www.cnblogs.com/wgscd/p/8630506.html
Copyright © 2011-2022 走看看