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