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}");
            }
        }
Exemple #2
0
        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();
        }