Мне нужно проанализировать Tumblr, получив результаты поиска.Мой код:
string tumblename = string.Empty;
string tumblepostid = string.Empty;
string tumbleposttext = string.Empty;
string EncodedCharRegex = "&#[X]?[0-9|A-F]{1,12};";
HtmlWeb web = new HtmlWeb();
private void button2_Click(object sender, EventArgs e)
{
HtmlAgilityPack.HtmlDocument doc = web.Load("https://www.tumblr.com/search/cheese");
HtmlNodeCollection searchResults = doc.GetElementbyId("search_posts").SelectNodes("//article"); //<-- here
foreach (HtmlNode result in searchResults)
{
tumblename = result.GetAttributeValue("data-tumblelog-name", "NULL");
tumblepostid = result.GetAttributeValue("data-id", "NULL");
tumbleposttext = result.ChildNodes[0].InnerText.Trim().Replace("’", "'").Replace(" ", " ").Replace("<", "<").Replace(".", ". ").Replace("…", "...").Replace("—", "-");
var z = Regex.Matches(tumbleposttext, EncodedCharRegex, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant);
foreach (Match m in Regex.Matches(tumbleposttext, EncodedCharRegex, RegexOptions.IgnoreCase | RegexOptions.CultureInvariant))
tumbleposttext = tumbleposttext.Replace(m.Value, WebUtility.HtmlDecode(m.Value));
listView1.Items.Add(new ListViewItem(new string[] { tumblename, tumblepostid, tumbleposttext }));
}
}
Все было хорошо, и код работал отлично.НО - когда я создал новый проект WinForms и скопировал этот код в новый проект WinForms без каких-либо изменений, программа теперь вылетает в указанном месте.
Старый (оригинальный) проект по-прежнему работает правильно.
Что бы это могло быть?