繁体   English   中英

如何使用 C# 获取网站的文本?

[英]How to get the text of a website using C#?

我试图在没有任何源代码的情况下从网站中获取文本。

我有这段代码:

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://www.google.com");
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
myResponse.Close();
Console.WriteLine(result);

当然,哪一个会给我文本以及源代码。 我应该如何处理源代码?

我建议使用 HTML 解析器,例如HTML Agility Pack - 将文档加载到其中后,您可以使用其InnerText属性从顶部节点提取文本。

如果您使用PuppeteerSharp,则无需所有 HTTP 请求即可完成。

await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);
var HeadlessBrowser = await Puppeteer.LaunchAsync(new LaunchOptions
{
    Headless = true
});
var WebPage = await HeadlessBrowser.NewPageAsync();
await WebPage.GoToAsync({URL HERE});
var PageContent = await WebPage.EvaluateExpressionAsync<string>("document.body.innerText");
await HeadlessBrowser.CloseAsync();
Console.WriteLine(PageContent)

您还可以更改代码以使其更加精简和简单,但这是它的基本要点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM