Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 下载HTML文件并将其转换为TXT_C#_Html_Url - Fatal编程技术网

C# 下载HTML文件并将其转换为TXT

C# 下载HTML文件并将其转换为TXT,c#,html,url,C#,Html,Url,我正在用c写一个程序。 我需要知道是否有一个选项,以打开一个网站的网址,并在文本中寻找关键字。 例如,如果我的程序获得URL和关键字“gmail” 它会变成现实。 因此,作为结论,我需要知道是否有一种方法可以转到URL下载HTML文件,将其转换为文本,这样我就可以查找我的关键字。听起来你想删除所有HTML标记,然后搜索结果文本 我的第一反应是使用正则表达式: String result = Regex.Replace(htmlDocument, @"<[^>]*>", Stri

我正在用c写一个程序。 我需要知道是否有一个选项,以打开一个网站的网址,并在文本中寻找关键字。 例如,如果我的程序获得URL和关键字“gmail” 它会变成现实。
因此,作为结论,我需要知道是否有一种方法可以转到URL下载HTML文件,将其转换为文本,这样我就可以查找我的关键字。

听起来你想删除所有HTML标记,然后搜索结果文本

我的第一反应是使用正则表达式:

String result = Regex.Replace(htmlDocument, @"<[^>]*>", String.Empty);
String result=Regex.Replace(htmlDocument,@“]*>,String.Empty);
不知羞耻地从以下地方偷走了这个:


这表明了与您要查找的内容完全相同的内容。

在visual basic中,此功能:

Imports System
Imports System.IO
Imports System.Net

Function MakeRequest(ByVal url As String) As String
    Dim request As WebRequest = WebRequest.Create(url)
    ' If required by the server, set the credentials. '
    request.Credentials = CredentialCache.DefaultCredentials
    ' Get the response. '
    Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
    ' Get the stream containing content returned by the server. '
    Dim dataStream As Stream = response.GetResponseStream()
    ' Open the stream using a StreamReader for easy access. '
    Dim reader As New StreamReader(dataStream)
    Dim text As String = reader.ReadToEnd

    Return text
End Function

编辑:为了将来其他人找到此页面时的参考,您传入一个URL,此函数将转到该页面,读取所有html文本,并将其作为文本字符串返回。然后,您所要做的就是解析它(搜索文件中的文本),或者您可以使用流编写器将其保存到文本或html文件中(如果需要)。

您应该能够按原样打开html文件。HTML文件是纯文本的,这意味着
FileStream
StreamReader
应该足以读取文件


如果您确实希望该文件是.txt文件,您只需在下载时将其保存为
filename.txt
,而不是
filename.html

不要使用正则表达式解析html,因为html对于正则表达式来说相当复杂。请查看有关SO的讨论

为此,请使用已经实现的HTML解析器

这里是另一个讨论,所以你可以找到你需要的链接


你也可以自己在互联网上搜索。

我认为他的问题实际上是下载页面而不是将其转换为文本。有这样的功能吗?如何使用url下载html?@yoni2:看看这个:我想知道是否有办法下载html文件并将其转换为txt文件
using (WebClient client = new WebClient()) 
{
   client.DownloadFile("http://example.com", @"D:\filename.txt");
}