场景:
我需要解析数百万个 HTML 文件/页面(尽我所能)然后只读取其中的标题或元部分并将其转储到数据库
我正在做的是使用 System.Net.WebClient
类的 DownloadString(url_path)
下载然后通过 LINQ To SQL 将其保存到数据库
但是这个DownloadString
函数给了我完整的html源,我只需要Title部分和META标签部分。
有什么想法可以只下载那么多内容吗?
最佳答案
我想你可以用这个 url 打开一个流并使用这个流来读取前 x 个字节,我不能说出确切的数字,但我认为你可以将它设置为合理的数字以获得标题和描述。
HttpWebRequest fileToDownload = (HttpWebRequest)HttpWebRequest.Create("YourURL");
using (WebResponse fileDownloadResponse = fileToDownload.GetResponse())
{
using (Stream fileStream = fileDownloadResponse.GetResponseStream())
{
using (StreamReader fileStreamReader = new StreamReader(fileStream))
{
char[] x = new char[Number];
fileStreamReader.Read(x, 0, Number);
string data = "";
foreach (char item in x)
{
data += item.ToString();
}
}
}
}
关于c# - 只读取 HTML 文件的标题和/或 META 标签,不加载完整的 HTML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6931628/