【发布时间】:2019-05-13 12:30:12
【问题描述】:
我正在尝试从网站获取数据。但是 HttpWebRequest 带出了网站的整个 HTML 编码。我只想从网站上获得订阅者。
代码是:
using System;
using System.Net;
using System.IO;
class DownloadPageHttpWebRequest
{
static void Main()
{
string html = string.Empty;
string url = "https://grow.grin.co/live-youtube-subscriber-count/PewDiePie";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
using (Stream stream = response.GetResponseStream())
using (StreamReader reader = new StreamReader(stream))
{
html = reader.ReadToEnd();
}
Console.WriteLine(html);
Console.ReadKey();
}
}
输出是这样的,我把它缩短了。
var start = {
id: "UC-lHJZR3Gqxm24_Vd_AJ5Yw",
count: 76239202,
name: "PewDiePie"
...
}
我只想打印“计数”,但我不知道该怎么做。请帮忙!
【问题讨论】:
-
这只是在所有文本中搜索“count:”并将部分提取到逗号。有很多方法可以做到这一点,例如分成几行,然后 .Where 找到哪一行包含文本“count:”并从那里处理,或者对整个文本运行正则表达式 - 编写匹配并提取数字的内容应该很容易。跨度>
-
或there are YouTube APIs for this,而不必去第三方网站。
-
您可以尝试解析字符串,但是当网页更新时您的代码可能会中断。希望有问题的网站将有一个 API 旨在帮助您做这类事情。
-
已经回答stackoverflow.com/questions/11426204/…你需要细化你的搜索/如何搜索/问题前搜索
标签: c# html-agility-pack