PuppeteerSharp库的数据抓取代码示例

176 阅读1分钟

huake_00200_.jpg```csharp // 导入需要的库 using PuppeteerSharp;

// 创建一个新的浏览器实例 var browser = await Puppeteer.LaunchAsync(new BrowserLaunchOptions { Headless = false, // 使用非无头模式 Proxy = new ProxyConfig { Type = "http", Host = "www.duoip.cn", Port = 8000 } });

// 创建一个新的页面实例 var page = await browser.NewPageAsync();

// 访问目标网站 await page.goto("");

// 获取页面源代码 var sourceCode = await page.ContentAsync();

// 使用正则表达式匹配所有的图片链接 var regex = new Regex(@"<img.?src="(.?)" alt.*?>"); var matches = regex.Matches(sourceCode);

// 遍历所有的图片链接 foreach (Match match in matches) { // 获取图片链接 var imageUrl = match.Groups[1].Value;

// 使用新的选项创建一个新的页面实例
var newPage = await browser.NewPageAsync();

// 访问图片链接
await newPage.goto(imageUrl);

// 获取图片内容
var imageContent = await newPage.ContentAsync();

// 将图片内容写入文件
File.WriteAllText("image.png", imageContent);

}

// 关闭浏览器 await browser.CloseAsync();

在使用此代码时,确保您有权访问目标网站,并且已经获取了所需的权限。