诺禾、abp vNext 和 .NET Core 开发博客项目

本文介绍了如何在.NET Core项目中利用PuppeteerSharp库进行无头浏览器操作,包括下载Chromium,配置启动参数,以及加载网页获取HTML内容。此外,还展示了如何扩展功能以生成PDF和保存图片,并且利用MailKit库发送包含图片的电子邮件。
摘要由CSDN通过智能技术生成

假如没有装置能够先装置一下,在.BackgroundJobs层装置PuppeteerSharp:Install-Package PuppeteerSharp

在Jobs文件夹下新建一个PuppeteerTestJob.cs,继承IBackgroundJob,同样是在ExecuteAsync()办法中执行操作。

<code-box id=“bfPpzQ” style=“padding: 0px; margin: 10px 0px; color: rgb(34, 34, 34); font-family: -apple-system, “SF UI Text”, Arial, “PingFang SC”, “Hiragino Sans GB”, “Microsoft YaHei”, “WenQuanYi Micro Hei”, sans-serif; font-size: 15.5px; background-color: rgba(255, 255, 255, 0.9); position: relative; display: block;”>
//PuppeteerTestJob.cs
using System;
using System.Threading.Tasks;
namespace Meowv.Blog.BackgroundJobs.Jobs.PuppeteerTest
{
public class PuppeteerTestJob : IBackgroundJob
{
public async Task ExecuteAsync()
{
throw new NotImplementedException();
}
}
}
运用 await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); 第一次检测到没有阅读器文件会默许帮我们下载 chromium 阅读器。

DownloadAsync(…)能够指定 Chromium 版本,BrowserFetcher.DefaultRevision 下载当前默许最稳定的版本。

然后配置阅读器启动的方式。

<code-box id=“GbXZ4i” style=“padding: 0px; margin: 10px 0px; color: rgb(34, 34, 34); font-family: -apple-system, “SF UI Text”, Arial, “PingFang SC”, “Hiragino Sans GB”, “Microsoft YaHei”, “WenQuanYi Micro Hei”, sans-serif; font-size: 15.5px; background-color: rgba(255, 255, 255, 0.9); position: relative; display: block;”>
using var browser = await Puppeteer.LaunchAsync(new LaunchOptions
{
Headless = true,
Args = new string[] { “–no-sandbox” }
});
感兴味的能够本人看看LaunchOptions有哪些参数,我这里指定了Headless = true 以无头形式运转阅读器,然后加了一个启动参数 “–no-sandbox”。针对Linux环境下,假如是运转在 root 权限下,在启动 Puppeteer 时要添加 “–no-sandbox” 参数,否则 Chromium 会启动失败。

我们翻开一个异步加载的网页,然后获取到页面加载完后的HTML,以我个人博客中的某个单页为例:https://meowv.com/wallpaper 。

<code-box id=“zim3JJ” style=“padding: 0px; margin: 10px 0px; color: rgb(34, 34, 34); font-family: -apple-system, “SF UI Text”, Arial, “PingFang SC”, “Hiragino Sans GB”, “Microsoft YaHei”, “WenQuanYi Micro Hei”, sans-serif; font-size: 15.5px; background-color: rgba(255, 255, 255, 0.9); position: relative; display: block;”>
//PuppeteerTestJob.cs
using PuppeteerSharp;
using System.Threading.Tasks;
namespace Meowv.Blog.BackgroundJobs.Jobs.PuppeteerTest
{
public class PuppeteerTestJob : IBackgroundJob
{
public async Task ExecuteAsync()
{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值