public override void Begin() { Console.WriteLine("任务启动..."); FilmSpider mtime = new FilmSpider(); try { var start = GetAsyncTable(); if (start.Rows.Count <= 0) { return; } foreach (DataRow item in start.Rows) { var FilmHref = item["FilmHref"].ToString(); var FilmID = int.Parse(item["FilmID"].ToString()); var Filmname = item["Filmname"].ToString(); var htmlContent = DownloadPage(FilmHref); Console.WriteLine($"开始获取FilmID={FilmID}..."); HtmlDocument htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(htmlContent); HtmlNodeCollection zhipian = htmlDocument.DocumentNode.SelectNodes("//*[@id='companyRegion']/dd/div[1]/div[1]/ul/li"); var zpType = "JG01"; var fxType = "JG02"; if (zhipian != null) { foreach (var jg in zhipian) { var jgNode = jg.SelectSingleNode(".//a"); var dqNode = jg.SelectSingleNode(".//span"); InsertDB(jgNode.InnerHtml.TrimStr().Transferred(), FilmID, zpType, dqNode.InnerHtml.TrimStr().Transferred()); } } HtmlNodeCollection faxing = htmlDocument.DocumentNode.SelectNodes("//*[@id='companyRegion']/dd/div[1]/div[2]/ul/li"); if (faxing != null) { foreach (var jg in faxing) { var jgNode = jg.SelectSingleNode(".//a"); var dqNode = jg.SelectSingleNode(".//span"); InsertDB(jgNode.InnerHtml.TrimStr().Transferred(), FilmID, fxType, dqNode.InnerHtml.TrimStr().Transferred()); } } } } catch (Exception ex) { Console.WriteLine($"已经停止,异常:{ex.Message}"); } }
public override void Begin() { Console.WriteLine("任务启动..."); FilmSpider mtime = new FilmSpider(); try { var i = mtime.GetAsyncPage(syear) + 1; for (; i <= pageCount; i++) { try { Thread.Sleep(200); Console.WriteLine($"开始获取第{i}页..."); var Ajax_CallBackArgument18 = i; var Ajax_CallBackArgument9 = syear; var Ajax_CallBackArgument10 = syear; var time = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "11"; var url = "http://service.channel.mtime.com/service/search.mcs?Ajax_CallBack=true&Ajax_CallBackType=Mtime.Channel.Pages.SearchService&Ajax_CallBackMethod=SearchMovieByCategory&Ajax_CrossDomain=1&Ajax_RequestUrl=http%3A%2F%2Fmovie.mtime.com%2Fmovie%2Fsearch%2Fsection%2F%23pageIndex%3D1%26year%3D2018&t=" + time + "&Ajax_CallBackArgument0=&Ajax_CallBackArgument1=181210151826556601&Ajax_CallBackArgument2=0&Ajax_CallBackArgument3=0&Ajax_CallBackArgument4=0&Ajax_CallBackArgument5=0&Ajax_CallBackArgument6=0&Ajax_CallBackArgument7=0&Ajax_CallBackArgument8=&Ajax_CallBackArgument9=" + Ajax_CallBackArgument9 + "&Ajax_CallBackArgument10=" + Ajax_CallBackArgument10 + "&Ajax_CallBackArgument11=0&Ajax_CallBackArgument12=0&Ajax_CallBackArgument13=0&Ajax_CallBackArgument14=1&Ajax_CallBackArgument15=0&Ajax_CallBackArgument16=1&Ajax_CallBackArgument17=4&Ajax_CallBackArgument18=" + Ajax_CallBackArgument18 + "&Ajax_CallBackArgument19=0"; var html = mtime.DownloadPage(url); if (html.Contains("302 Found")) { continue; } //var html = mtime.DownloadPage("http://service.channel.mtime.com/service/search.mcs?Ajax_CallBack=true&Ajax_CallBackType=Mtime.Channel.Pages.SearchService&Ajax_CallBackMethod=SearchMovieByCategory&Ajax_CrossDomain=1&Ajax_RequestUrl=http%3A%2F%2Fmovie.mtime.com%2Fmovie%2Fsearch%2Fsection%2F%23pageIndex%3D1%26year%3D2018&t=2018121015183125980&Ajax_CallBackArgument0=8mrd&Ajax_CallBackArgument1=181210151826556601&Ajax_CallBackArgument2=0&Ajax_CallBackArgument3=0&Ajax_CallBackArgument4=0&Ajax_CallBackArgument5=0&Ajax_CallBackArgument6=0&Ajax_CallBackArgument7=0&Ajax_CallBackArgument8=&Ajax_CallBackArgument9=2018&Ajax_CallBackArgument10=2018&Ajax_CallBackArgument11=0&Ajax_CallBackArgument12=0&Ajax_CallBackArgument13=0&Ajax_CallBackArgument14=1&Ajax_CallBackArgument15=0&Ajax_CallBackArgument16=1&Ajax_CallBackArgument17=4&Ajax_CallBackArgument18=2&Ajax_CallBackArgument19=0"); var beginIndex = html.IndexOf("<ul"); var endIndex = html.IndexOf("ul>"); Console.WriteLine($"{beginIndex}-{endIndex}"); var rs = html.Substring(beginIndex, endIndex - beginIndex + 3); var ls = mtime.AnalysisCountry(html, i); mtime.InsertDB(ls, syear); Console.WriteLine($"获取第{i}页完成入库..."); } catch (Exception ex) { i--; Console.WriteLine(ex.Message); Console.WriteLine("按任意键继续!"); Console.ReadKey(); } } } catch (Exception ex) { Console.WriteLine($"已经停止,异常:{ex.Message}"); } Console.ReadKey(); }