C#写爬虫及解析Json数据

之前一直用python写爬虫,因工作需要使用C#,记录一下,得到Json数据写过爬虫的应该都知道

public string GetResponse(string Url)
        {
            string ResponseData = string.Empty;
            try
            {

                HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(Url);
                httpWebRequest.Timeout = 200000;
                httpWebRequest.Method = "GET";

                HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                Stream responseStream = httpWebResponse.GetResponseStream();
                StreamReader streamReader = new StreamReader(responseStream, Encoding.UTF8);
                ResponseData = streamReader.ReadToEnd();
                streamReader.Close();
                responseStream.Close();

            }
            catch (Exception)
            {
                ResponseData = null;
            }
            return ResponseData;
        }

public string Get_detail()
        {
            string reponse = null;
            string url = "https://***.json";
            try
            {
                reponse = GetResponse(url);
                
            }
            catch (Exception)
            {
                reponse = string.Empty;
            }
            
            return reponse;
        }

下面是用C#解析Json数据,很简单,需要在vs中安装Json包,在解决方案-引用上右键打开NuGet包管理,搜索Newtonsoft.Json并安装即可使用

using Newtonsoft.Json.Linq;

public JArray Parse_data(string data)
        {

           //读数组型json {"aaa":[{'a':'a1','b':'b1'},{'a':'a2','b':'b2'}]};

            JObject jObject = JObject.Parse(data);
           
            JArray data = (JArray)jObject["aaa"];
            
            foreach (JObject item in data)
            {
                *** = item["a"]; //即可得到a1,a2,作后续使用,使用item["**"].ToString()可以转为string
                //如果有其他来源的数据我想整合到Json的每一条数据中可以试用这个方法为Jobject添加项
                var newJsonObj = JObject.Parse("{\"项的名字\":\"" + 项的值 + "\",\"项2的名字\":\"" + 项2的值);
                item.Add(newJsonObj.Properties());
            }
            
            //直接读Json字符串
            //JsonReader reader = new JsonTextReader(new StringReader(data));
            //while (reader.Read())
            //{
            //    Console.WriteLine(reader.Value + "\r\n");
            //}
            return jsonServers;
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝之赟

谢谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值