1.抓微信的正文主要是调用第三方的接口(https://market.aliyun.com/products/56928004/cmapi012134.html)

  1. using Newtonsoft.Json;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Net;
  7. using System.Net.Security;
  8. using System.Security.Cryptography.X509Certificates;
  9. using System.Text;
  10. using System.Threading.Tasks;
  11.  
  12. namespace QBSqlServer.GSDataAPIs.GetHtml
  13. {
  14. public class WeChatPublicNumberQueryAPI
  15. {
  16. private const String host = "https://ali-weixin.showapi.com";
  17. private const String path = "/582-9";
  18. private const String method = "GET";
  19. private const String appcode = "你自己的appcode";
  20.  
  21. public static Root GetWeChathtml(string title)
  22. {
  23. string outhtml = string.Empty;
  24. string t = System.Web.HttpUtility.UrlEncode(title);
  25. //String querys = "needComment=0&needContent=1&url=url";
  26. String querys = "needContent=1&url=" + t;
  27. String bodys = "";
  28. String url = host + path;
  29. HttpWebRequest httpRequest = null;
  30. HttpWebResponse httpResponse = null;
  31.  
  32. if ( < querys.Length)
  33. {
  34. url = url + "?" + querys;
  35. }
  36.  
  37. if (host.Contains("https://"))
  38. {
  39. ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
  40. httpRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(url));
  41. }
  42. else
  43. {
  44. httpRequest = (HttpWebRequest)WebRequest.Create(url);
  45. }
  46. httpRequest.Method = method;
  47. httpRequest.Headers.Add("Authorization", "APPCODE " + appcode);
  48. if ( < bodys.Length)
  49. {
  50. byte[] data = Encoding.UTF8.GetBytes(bodys);
  51. using (Stream stream = httpRequest.GetRequestStream())
  52. {
  53. stream.Write(data, , data.Length);
  54. }
  55. }
  56. try
  57. {
  58. httpResponse = (HttpWebResponse)httpRequest.GetResponse();
  59. }
  60. catch (WebException ex)
  61. {
  62. httpResponse = (HttpWebResponse)ex.Response;
  63. }
  64.  
  65. Console.WriteLine(httpResponse.StatusCode);
  66. Console.WriteLine(httpResponse.Method);
  67. Console.WriteLine(httpResponse.Headers);
  68. Stream st = httpResponse.GetResponseStream();
  69. StreamReader reader = new StreamReader(st, Encoding.GetEncoding("utf-8"));
  70. string strResult = reader.ReadToEnd();
  71. Root jobInfoList = JsonConvert.DeserializeObject<Root>(strResult);
  72. Console.WriteLine(reader.ReadToEnd());
  73. Console.WriteLine("\n");
  74. return jobInfoList;
  75. }
  76.  
  77. public static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
  78. {
  79. return true;
  80. }
  81. }
  82.  
  83. public class Showapi_res_body
  84. {
  85. /// <summary>
  86. ///
  87. /// </summary>
  88. public string newUrl { get; set; }
  89. /// <summary>
  90. ///
  91. /// </summary>
  92. public string date { get; set; }
  93. /// <summary>
  94. ///
  95. /// </summary>
  96. public string weixinNum { get; set; }
  97. /// <summary>
  98. /// 这是正文的html
  99. /// </summary>
  100. public string content { get; set; }
  101. /// <summary>
  102. ///
  103. /// </summary>
  104. public string ret_code { get; set; }
  105. /// <summary>
  106. /// 秀场|中国品牌ELLASSAY米兰时装周首秀!
  107. /// </summary>
  108. public string title { get; set; }
  109. /// <summary>
  110. ///
  111. /// </summary>
  112. public string contentImg { get; set; }
  113. /// <summary>
  114. ///
  115. /// </summary>
  116. public string userLogo { get; set; }
  117. /// <summary>
  118. ///
  119. /// </summary>
  120. public string oldUrl { get; set; }
  121. /// <summary>
  122. /// 徐峰立
  123. /// </summary>
  124. public string userName { get; set; }
  125. /// <summary>
  126. ///
  127. /// </summary>
  128. public string read_num { get; set; }
  129. /// <summary>
  130. ///
  131. /// </summary>
  132. public string like_num { get; set; }
  133. /// <summary>
  134. ///
  135. /// </summary>
  136. public string userLogo_code { get; set; }
  137. }
  138.  
  139. public class Root
  140. {
  141. /// <summary>
  142. ///
  143. /// </summary>
  144. public string showapi_res_code { get; set; }
  145. /// <summary>
  146. ///
  147. /// </summary>
  148. public string showapi_res_error { get; set; }
  149. /// <summary>
  150. ///
  151. /// </summary>
  152. public Showapi_res_body showapi_res_body { get; set; }
  153. }
  154. }

asp.net MVC 抓取微信文章数据(正文)的更多相关文章

  1. asp.net mvc抓取微信文章里面所有的图片

    /// <summary> /// 下载指定URL下的所有图片 /// </summary> public class WebPageImage { /// <summa ...

  2. asp.net mvc 抓取京东商城分类

    555 asp.net mvc 抓取京东商城分类   URL:http://www.jd.com/allSort.aspx   效果:   //后台代码 public ActionResult Get ...

  3. [Python爬虫] 之十五:Selenium +phantomjs根据微信公众号抓取微信文章

    借助搜索微信搜索引擎进行抓取 抓取过程 1.首先在搜狗的微信搜索页面测试一下,这样能够让我们的思路更加清晰 在搜索引擎上使用微信公众号英文名进行“搜公众号”操作(因为公众号英文名是公众号唯一的,而中文 ...

  4. 使用redis所维护的代理池抓取微信文章

    搜狗搜索可以直接搜索微信文章,本次就是利用搜狗搜搜出微信文章,获得详细的文章url来得到文章的信息.并把我们感兴趣的内容存入到mongodb中. 因为搜狗搜索微信文章的反爬虫比较强,经常封IP,所以要 ...

  5. 如何利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例

    前几天给大家分享了利用Python网络爬虫抓取微信朋友圈的动态(上)和利用Python网络爬虫爬取微信朋友圈动态——附代码(下),并且对抓取到的数据进行了Python词云和wordart可视化,感兴趣 ...

  6. Charles抓取微信小程序数据 以及 其它应用网站数据

    为了抓取小程序数据所以使用Charles来抓取,下面介绍下使用方法(mac环境下使用).使用Charles可以非常方便的抓取Http/Https请求.官方dmg下载地址:点击此处下载 Charles抓 ...

  7. 使用Fiddler抓取微信饿了么小程序数据

    使用Fiddler抓取微信饿了么小程序数据 准备 一部装载Android 7.0以下的手机:此处使用华为荣耀5x 微信小程序7.0以下版本:此处为6.6.7.此处可通过豌豆荚应用下载. 安装好的Fid ...

  8. 如何利用Python网络爬虫抓取微信朋友圈的动态(上)

    今天小编给大家分享一下如何利用Python网络爬虫抓取微信朋友圈的动态信息,实际上如果单独的去爬取朋友圈的话,难度会非常大,因为微信没有提供向网易云音乐这样的API接口,所以很容易找不到门.不过不要慌 ...

  9. 利用Python网络爬虫抓取微信好友的签名及其可视化展示

    前几天给大家分享了如何利用Python词云和wordart可视化工具对朋友圈数据进行可视化,利用Python网络爬虫抓取微信好友数量以及微信好友的男女比例,以及利用Python网络爬虫抓取微信好友的所 ...

随机推荐

  1. OpenJudge计算概论-奇数求和

    /*=================================================== 奇数求和 总时间限制: 1000ms 内存限制: 65536kB 描述 计算非负整数 m 到 ...

  2. c3p0数据库连接池 原创: Java之行 Java之行 5月8日 一、连接池概述 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程

    c3p0数据库连接池 原创: Java之行 Java之行 5月8日 一.连接池概述 实际开发中“获得连接”或“释放资源”是非常消耗系统资源的两个过程 DB连接池HikariCP为什么如此快 原创: D ...

  3. JavaScript Functional Programming:声明式与命令式

    函数式编程属于声明式编程(declarative programming)的范畴,经常跟声明式编程一块儿讨论的是命令式编程(imperative programming),因为它们是两种不太一样的风格 ...

  4. Keyframe类-动画中关键帧概念

    package com.loaderman.customviewdemo; import android.animation.Animator; import android.animation.Ke ...

  5. Windows下安装ActiveMQ

    到官网(http://activemq.apache.org/download-archives.html)下载最新发布的压缩包(我下的是5.15.9)到本地后解压(我解压到D盘Dev目录下)即可.进 ...

  6. Mysql读写分离(Mycat版)

    (1).读写分离概述 1)工作原理 读写分离是让主数据库处理事务性增删改操作(insert.delete.update),让从数据库处理查询查询操作(select). 2)作用 1.分担负载 2.主从 ...

  7. 学习 TTreeView [15] - 连接数据库 (作为给 "丁永其" 和 "DELPHI万岁" 两位朋友的回复)

    本例效果图: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Contro ...

  8. 小程序下载canvas生成图片

    save_share_img:function(img){ var that = this; let { result } = that.data; getData.getData( "sa ...

  9. Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据

    1.这里下载:http://www.newtonsoft.com/products/json/ 安装:    1.解压下载文件,得到Newtonsoft.Json.dll    2.在项目中添加引用  ...

  10. myeclipse安装activiti-designer

    将压缩包中的features和plugins放到dropins下,然后重启myeclipse activiti-designer下载地址: 链接:https://pan.baidu.com/s/19u ...