.NET 4.x Вытащить текст со страницы по ссылке - C#
Формулировка задачи:
Дана ссылка на сайт, если нажать на сайте Ctrl+A + Ctrl+V и поместить это в txt(но это вручную), то можно достать нужную мне информацию, ибо в исходном коде этого нету..
Как это сделать программно, не вручную?
WebBrowser лучше не использовать, ибо выскакивает через него ошибка, что мол не поддерживается данный браузер и ссылку не грузит соответственно!
Решение задачи: «.NET 4.x Вытащить текст со страницы по ссылке»
textual
Листинг программы
using System;
using System.Diagnostics;
using System.IO;
using System.Net;
using System.Windows.Forms;
namespace PremBF4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string parname;
private void button1_Click(object sender, EventArgs e)
{
label3.Text = "Определяется";
ssil();
}
private bool gh;
private void prem(string ssilka)
{
gh = false;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ssilka);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
richTextBox1.Text = sr.ReadToEnd();
sr.Close();
foreach (string h in richTextBox1.Lines)
{
if (h.IndexOf("<img class=\"common-gameexpansion") > -1)
{
gh = true;
break;
}
else
{
gh = false;
}
}
if (gh == true)
{
label3.Text = "Есть";
}
else
{
label3.Text = "Нет";
}
}
private void ssil()
{
string url = textBox1.Text;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream());
richTextBox1.Text = sr.ReadToEnd();
sr.Close();
foreach (string h in richTextBox1.Lines)
{
if (h.IndexOf(" <a href=\"/bf4/ru/soldier/") > -1)
{
parname = h.Remove(0, 10);
int cc = parname.Length - 2;
parname = parname.Remove(cc, 2);
parname = "http://battlelog.battlefield.com" + parname;
if (checkBox1.Checked == true)
{
Process.Start(parname);
}
prem(parname);
break;
}
}
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
textBox1.Text = "";
}
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
MessageBox.Show("Ссылка на профиль типа:" + Environment.NewLine + "http://battlelog.battlefield.com/bf4/ru/user/Nickname", "Ссылка на профиль:", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}