Exemplo n.º 1
0
        public override ArrayList GetData()
        {
            ArrayList results = new ArrayList();

            for (int pageindex = 1; pageindex <= max_page_num; pageindex++)
            {
                Dictionary <string, object> response = HtmlRequest.GetHtmlText(string.Format("{0}/{1}/page/{2}", api_url, KeyWord, pageindex));
                if (response is null)
                {
                    break;
                }
                //xpath 解析
                HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                doc.LoadHtml(response["body"].ToString());
                HtmlNodeCollection titles = doc.DocumentNode.SelectNodes("//div[@class='row']/a");      //属性title
                HtmlNodeCollection dates  = doc.DocumentNode.SelectNodes("//div[@class='row']/div[2]"); //text()
                HtmlNodeCollection sizes  = doc.DocumentNode.SelectNodes("//div[@class='row']/div[1]"); //text()
                HtmlNodeCollection links_ = doc.DocumentNode.SelectNodes("//div[@class='row']/a");      //属性href
                if (titles is null)
                {
                    break;
                }
                for (int i = 0; i < titles.Count; i++)
                {
                    Dictionary <string, string> result = new Dictionary <string, string>();
                    result.Add("title", titles[i].Attributes["title"].Value);
                    result.Add("date", dates[i].InnerText);
                    result.Add("size", sizes[i].InnerText);
                    result.Add("hot", "--");
                    Regex  reg  = new Regex(@"hash/([\w|\d]+)");
                    string link = reg.Match(links_[i].Attributes["href"].Value).Groups[1].Value;
                    result.Add("link", string.Format("magnet:?xt=urn:btih:{0}", link));

                    results.Add(result);
                }
            }

            return(results);
        }
Exemplo n.º 2
0
        public override ArrayList GetData()
        {
            ArrayList results = new ArrayList();

            for (int pageindex = 1; pageindex <= this.max_page_num; pageindex++)
            {
                Dictionary <string, object> response = HtmlRequest.GetHtmlText(string.Format("{0}/{1}/{2}", api_url, KeyWord, pageindex));
                if (response is null)
                {
                    break;
                }
                //xpath 解析
                HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
                doc.LoadHtml(response["body"].ToString());
                HtmlNodeCollection titles = doc.DocumentNode.SelectNodes("//table//div[@class='text-left']//a");
                HtmlNodeCollection dates  = doc.DocumentNode.SelectNodes("//table//tr[2]/td[1]/strong");
                HtmlNodeCollection sizes  = doc.DocumentNode.SelectNodes("//table//tr[2]/td[2]/strong");
                HtmlNodeCollection hots   = doc.DocumentNode.SelectNodes("//table//tr[2]/td[3]/strong");
                HtmlNodeCollection links  = doc.DocumentNode.SelectNodes("//table//tr[2]/td[4]/a");
                if (titles is null)
                {
                    break;
                }
                for (int i = 0; i < titles.Count; i++)
                {
                    Dictionary <string, string> result = new Dictionary <string, string>();
                    result.Add("title", titles[i].InnerText);
                    result.Add("date", dates[i].InnerText);
                    result.Add("size", sizes[i].InnerText);
                    result.Add("hot", hots[i].InnerText);
                    result.Add("link", links[i].Attributes["href"].Value);

                    results.Add(result);
                }
            }
            return(results);
        }