• 女朋友经常问影视剧, 答不上来怎么办?


    女朋友经常问影视剧, 答不上来怎么办?朋友介绍了一个好站(www.5ddy.net),   全是豆瓣高分影视。 非常666.   今日特写一个查询小工具, 根据名称快速得到它的剧集。 

    设计思路

    1.  获取它接口的JSON数据。 

    2.  解析JSON, 获取电影名和链接。 

    3.  发给女朋友。 

    核心代码。 

     1         /// <summary>
     2         /// 获取HTML源文件
     3         /// </summary>
     4         /// <param name="url"></param>
     5         /// <returns></returns>
     6         public static string HttpClientGetHtmls(string url)
     7         {
     8             try
     9             {
    10                 if (url == null || url.Length == 0)
    11                 {
    12                     return null;
    13                 }
    14                 string result = null;
    15                 HttpWebRequest wbRequest = (HttpWebRequest)WebRequest.Create(url);
    16                 wbRequest.Method = "GET";
    17                 wbRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3";
    18                 wbRequest.UserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36";//模拟user
    19                 wbRequest.Timeout = 3000;//设计超时时间
    20                 try
    21                 {
    22                     HttpWebResponse wbResponse = (HttpWebResponse)wbRequest.GetResponse();
    23                     using (Stream responseStream = wbResponse.GetResponseStream())
    24                     {
    25                         using (StreamReader sReader = new StreamReader(responseStream))
    26                         {
    27                             result = sReader.ReadToEnd();
    28                         }
    29                     }
    30                 }
    31                 catch (Exception e)
    32                 {
    33                     Console.WriteLine(e.StackTrace);
    34                 }
    35 
    36                 return result;
    37             }
    38             catch (Exception exception)
    39             {
    40             }
    41             return "";
    42         }

    解析JSON格式。 

     1         public string searchvod(string msg)
     2         {
     3             StringBuilder result = new StringBuilder();
     4             msg = msg.Replace("", "");
     5             msg = Regex.Replace(msg, "[ \[ \] \^ \-_*×――(^)(^)$%~!@#$…&%¥—+=<>《》!!???::•`·、。,;,.;"‘’“”-]", "");
     6             string html = HttpClientGetHtmls("http://www.5ddy.net/api.php/provide/vod/?ac=list&wd=" + msg);
     7             JObject model = JObject.Parse(html); //解析json
     8             if (model != null)
     9                 foreach (var item in model["list"])
    10                 {
    11                     var id = item["vod_id"];
    12                     var dyname = item["vod_name"];
    13                     string url = "https://www.5ddy.net/voddetail/" + id + ".html";
    14                     var s = SinaShortUrl(url);
    15                     result.Append(dyname + ":" + s + "
    ");
    16                 }
    17             return result.ToString();
    18         }

    只要传电影或电视剧名称, 就能快速找到它的链接了。 配合自己写的桌面工具, 爽得不要不要的。 

  • 相关阅读:
    window上部署Flask
    PIP超时
    覆盖内敛样式
    解决js导出csv中文乱码
    没有为请求的 URL 配置默认文档,并且没有在服务器上启用目录浏览。
    nuget加载本地包
    DataTable表头对不齐、添加参数等方法总结
    根据class判断
    element-ui的table动态生成表头和数据,且表中数据可编辑
    VScode快捷键、Chrome快捷键知识小总结和状态码
  • 原文地址:https://www.cnblogs.com/jackrebel/p/11613349.html
Copyright © 2020-2023  润新知