private async Task CrawlDishDetails(DishDetailsRawData dlr) { Console.Write($"{dlr.CrawlerFileName} "); //如果已存在该列表的文件,就pass if (DishDetailsFileStore.Exist(dlr)) { Console.WriteLine($"已存在"); return; } //关键是相关信息和图片路径 //补充 还不完整的信息 int max = 10; foreach (var item in dlr) { await FillDetail(item); Console.Write("."); //if (--max <= 0) break; //仅用于调试 } DishDetailsFileStore.Save(dlr); Console.WriteLine($"{dlr.CrawlerFileName} ok"); }
private async Task CrawDishList(DishCategoryRawDataItem dcrItem) { //如果已存在该列表的文件,就pass Console.WriteLine(dcrItem.FileName); if (SerializeHelper.Exist("Dish", dcrItem.FileName)) { Console.WriteLine("已下载"); return; } DishDetailsRawData dishDatas = new DishDetailsRawData() { Tag = dcrItem.Tag, }; // 按分页page 读取列表 Console.WriteLine(""); for (int page = 1; page <= 50; page++) { string listFullUrl = $"https:{dcrItem.ListUrl}/page/{page}/"; List <DishDetailsRawDataItem> pageDishs = await GetOnePageDishs(listFullUrl); dishDatas.AddRange(pageDishs); } SerializeHelper.Save("Dish", dcrItem.FileName, dishDatas); }