public void TestPaging() { var crawler = new RuiJiCrawler(); var request = new Request("https://www.kuaidaili.com/free/inha/10"); var response = crawler.Request(request); var content = response.Data.ToString(); var exp = @" [tile] css table.table-bordered tr:gt(0):ohtml [meta] #ip css td[data-title='IP']:text #port css td[data-title='PORT']:text [paging] css #listnav a[href]"; var block = RuiJiBlockParser.ParserBlock(exp); var result = RuiJiExtractor.Extract(content, block); if (result.Paging != null && result.Paging.Count > 0 && result.Tiles != null) { var storage = new FileStorage(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "www", "download")); PagingExtractor.CrawlPage(request.Uri, result, block, (u, res) => { var c = new DownloadContentModel(); c.Url = u.AbsolutePath.Trim(); c.IsRaw = false; c.Data = JsonConvert.SerializeObject(res.Tiles); storage.Insert(c); }, int.MaxValue); } Assert.True(true); }