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(); } }
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(); } }
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); }