ylqxid 发表于 2023-6-25 10:44

头条、知乎热搜排行榜

using QQ;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Data;

namespace HotSearch
{
    enum Type
    {
      Zhihu,
      Toutiao
    };

    struct Con
    {
      public string title;
      public string hotValue;
      public string url;
    }

    class GetData
    {
      private string ZhihuAPI = @"https://api.codelife.cc/api/top/list?lang=cn&id=mproPpoq6O&size=50";
      private string ToutiaoAPI = @"https://api.codelife.cc/api/top/list?lang=cn&id=toutiao&size=50";

      private Dictionary<Type, string> typeApiDic = new Dictionary<Type, string>();

      public GetData()
      {
            typeApiDic.Add(Type.Toutiao, this.ToutiaoAPI);
            typeApiDic.Add(Type.Zhihu, this.ZhihuAPI);
      }


      public string conHtml(Type type, string title = "")
      {
            List<Con> conList = this.Get(type);
            string conStr = this.conHtml(conList, title);
            return conStr;
      }


      private List<Con> Get(Type type)
      {
            List<Con> res = new List<Con>();
            string url = typeApiDic;

            string conStr = "";
            bool isReturn = webRequest.Get(url, "", out conStr);
            if (!string.IsNullOrWhiteSpace(conStr))
            {
                JObject jsonData = JObject.Parse(conStr);
                JArray jsonDataArray = (JArray)jsonData["data"];
                foreach (var item in jsonDataArray)
                {
                  Con conItem = new Con();
                  conItem.title = (string)item["title"];
                  string hot = (string)item["hotValue"];
                  conItem.hotValue = string.IsNullOrWhiteSpace(hot) ? "" : hot.Replace("热度", "");
                  string link = (string)item["link"];
                  if (!string.IsNullOrWhiteSpace(link))
                  {
                        conItem.url = System.Web.HttpUtility.UrlDecode(link, Encoding.UTF8); //Encoding.GetEncoding("GB2312")
                  }
                  res.Add(conItem);
                }
            }
            else
            {
                Log.writeLog(string.Format("url{0} 返回值为空", url), true);
            }
            return res;
      }


      private string conHtml(List<Con> conList, string title = "")
      {
            StringBuilder sb = new StringBuilder();
            if (!string.IsNullOrWhiteSpace(title))
            {
                sb.Append("<font color = 'Red' ><b> " + title + "</font>");
                sb.Append("<br>");
                sb.Append("<hr>");
            }

            sb.Append(string.Format("<html><head><meta name='viewport' content='width=device-width,initial-scale=0.8' ><title>Reports{0}</title></head><body><table border= 3><thead>", "详情"));
            sb.Append("<th bgcolor='66CCFF'>序号</th><th>标题</th><th>热度</th><th>链接</th>");
            sb.Append("</thead>");

            for (int i = 0; i < conList.Count(); i++)
            {
                sb.Append("<tr>");
                sb.Append(string.Format("<td bgcolor='66CCFF'>{0}</td>", i + 1));
                sb.Append(string.Format("<td> {0}</td>", conList.title));
                sb.Append(string.Format("<td> {0}</td>", conList.hotValue));
                sb.Append(string.Format("<td> <a href = '{0}' target = '_blank' >链接 </a></td>", conList.url));
                sb.Append("</tr>");
            }

            sb.Append("</table>");
            sb.Append("<tbody></body>");
            return sb.ToString();
      }

    }
}

如上代码是爬虫数据代码。数据推送服务代码,暂不贴示。
获取得到数据数据,再借助微信推送消息平台Wxpusher,即可推送信息至微信。并附有数据链接

microgly 发表于 2023-7-4 10:46

这个api的热榜内容不是实时的,不知道更新频率是多长时间

ylqxid 发表于 2023-7-3 16:14

kiddhuang 发表于 2023-7-1 21:40
楼主,请问这个有没有做好的软件啊。

微信公众号
使用微信公众号。作为接受信息载体。
我的后台服务将数据推送给微信公众号,只需要客户关注微信公众号即可。

kiddhuang 发表于 2023-7-1 21:40

楼主,请问这个有没有做好的软件啊。

ebuy177 发表于 2023-7-3 19:22

不错,能不能推到我的公众号?

ylqxid 发表于 2023-7-4 09:44

ebuy177 发表于 2023-7-3 19:22
不错,能不能推到我的公众号?

应该是可以的。

ylqxid 发表于 2023-7-4 14:54

microgly 发表于 2023-7-4 10:46
这个api的热榜内容不是实时的,不知道更新频率是多长时间

是的呢,大概是4个小时更新一次吧

liangce_media 发表于 2023-7-19 08:02

这个有做好的软件吗

ylqxid 发表于 2023-7-19 17:19

liangce_media 发表于 2023-7-19 08:02
这个有做好的软件吗

我做了微信公众号,作为接受信息载体。做好的软件,还需要运行,比较麻烦。
没有微信公众号,好用。

pgdhao123 发表于 2023-8-4 14:01

楼主,你的公众号在哪里呢?没看到,怎么对接呢
页: [1] 2 3
查看完整版本: 头条、知乎热搜排行榜