Example #1
0
        public static void CrawlerAnswer(int qid)
        {
            var proxys = GrabAnswer.GetProxyListFromCache();
            //var answer = new QuestionParser().ParseAnswer(item.QuestionId.ToString());
            var answerHttpClient = CrawlerSingleQuestion(qid, proxys);

            if (answerHttpClient == null || string.IsNullOrWhiteSpace(answerHttpClient.ToString()))
            {
                return;
            }
            var xd   = answerHttpClient[0]["questions"][0]["xd"].ToString();
            var chid = answerHttpClient[0]["questions"][0]["chid"].ToString();

            var apiUrl  = $"https://www.zujuan.com/question/list?question_id={qid}&xd={xd}&chid={chid}";
            var apiJson = HttpClientHolder.Execute(apiUrl);

            using (var db = new CrawlerEntities())
            {
                var entity = new QuestionAll();
                entity.QuestionId    = qid;
                entity.IsDelete      = false;
                entity.AnswerJson    = answerHttpClient.ToString();
                entity.ApiJson       = apiJson;
                entity.CrawlerUrl    = $"https://www.zujuan.com/question/detail-{qid}.shtml";
                entity.CrawlerApiUrl = apiUrl;
                entity.child         = chid.NullToInt();
                entity.xd            = xd.NullToInt();

                db.QuestionAll.Add(entity);
                db.SaveChanges();
            }
        }
Example #2
0
 public static void AddDeleteQuestion(int questionId)
 {
     using (var db = new CrawlerEntities())
     {
         var entity = new QuestionAll();
         entity.QuestionId = questionId;
         entity.IsDelete   = true;
         db.QuestionAll.Add(entity);
         db.SaveChanges();
     }
 }
Example #3
0
        public static void CrawlerAnswer(QuestionAll item, List <string> proxys)
        {
            //var answer = new QuestionParser().ParseAnswer(item.QuestionId.ToString());
            var answerHttpClient = CrawlerSingleQuestion(item.QuestionId.ToString(), proxys);

            if (answerHttpClient == null || string.IsNullOrWhiteSpace(answerHttpClient.ToString()))
            {
                //Console.WriteLine($"anserhttp is null {item.QuestionId}");
                //UpdateQuestionGrabStatus(item.QuestionId);
                return;
            }
            var xd      = answerHttpClient[0]["questions"][0]["xd"].ToString();
            var chid    = answerHttpClient[0]["questions"][0]["chid"].ToString();
            var apiUrl  = $"https://www.zujuan.com/question/list?question_id={item.QuestionId}&xd={xd}&chid={chid}";
            var apiJson = HttpClientHolder.Execute(apiUrl, GetCookieState(chid.NullToInt(), xd.NullToInt()));

            Console.WriteLine($"save sql");
            UpdateQuesion(item.QuestionId, answerHttpClient, apiUrl, apiJson, xd, chid);
        }