コード例 #1
0
        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");
        }
コード例 #2
0
        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);
        }