 |
|

21.05.2010, 11:31
|
|
Познающий
Регистрация: 12.11.2008
Сообщений: 33
С нами:
9208402
Репутация:
15
|
|
Код:
class html_parser
{
private string text = null;
public void setText(string text)
{
this.text = text;
}
public string getImg()
{
var image = "no_image.png";
var s_text = "<img src='";
var e_text = "' alt='";
if (text.IndexOf(s_text) != -1)
{
int c = (text.IndexOf(s_text) + s_text.Length);
image = text.Substring(c, (text.IndexOf(e_text, c) - c));
}
return image;
}
}
|
|
|

22.05.2010, 19:08
|
|
Участник форума
Регистрация: 06.11.2008
Сообщений: 208
С нами:
9216248
Репутация:
9
|
|
Спасибо =)
Попробую и это. 
|
|
|

31.05.2010, 13:25
|
|
Участник форума
Регистрация: 06.11.2008
Сообщений: 208
С нами:
9216248
Репутация:
9
|
|
Глупый вопрос - а куда вводить адрес сайта?!
|
|
|

31.05.2010, 13:47
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
С нами:
11010660
Репутация:
439
|
|
в html_parser тебе не нужен адрес. ты должен предать функции setText(string text) зачитанный веб-реквестом текст исходника страницы. а как получить текст определённого url стоит на предыдущей странице.
|
|
|

31.05.2010, 14:43
|
|
Участник форума
Регистрация: 06.11.2008
Сообщений: 208
С нами:
9216248
Репутация:
9
|
|
Сообщение от BrainDeaD
в html_parser тебе не нужен адрес. ты должен предать функции setText(string text) зачитанный веб-реквестом текст исходника страницы. а как получить текст определённого url стоит на предыдущей странице.
Как же всё это кажется нереально СЛОЖНЫМ... и это всего на 3-й месяц изучения C# 
|
|
|

31.05.2010, 18:37
|
|
Постоянный
Регистрация: 09.06.2005
Сообщений: 531
С нами:
11010660
Репутация:
439
|
|
ну не всё так страшно. вот смотри:
Код:
string URL = "http://www.postimage.org/image.php?v=TsMkyRA";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL);
request.Timeout = 1000;
string data = new StreamReader(request.GetResponse().GetResponseStream()).ReadToEnd();
var image = "no_image.png";
var s_text = "<img src='";
var e_text = "' alt='";
if (data.IndexOf(s_text) != -1)
{
int c = (data.IndexOf(s_text) + s_text.Length);
image = data.Substring(c, (data.IndexOf(e_text, c) - c));
}
в переменной image ссылка на твою картинку.
|
|
|

31.05.2010, 22:13
|
|
Познающий
Регистрация: 13.02.2007
Сообщений: 41
С нами:
10125997
Репутация:
26
|
|
Юзайте HtmlAgilityPack и XPath, и будет вам счастье. Регексы - тока на крайняк я использую. WebBrowser вообще лучше выбросить, нормальные проекты на нем не поднять (хотя бы потому что потоки он не держит)
|
|
|

01.06.2010, 11:06
|
|
Участник форума
Регистрация: 06.11.2008
Сообщений: 208
С нами:
9216248
Репутация:
9
|
|
Сообщение от Kaas
Юзайте HtmlAgilityPack и XPath, и будет вам счастье. Регексы - тока на крайняк я использую. WebBrowser вообще лучше выбросить, нормальные проекты на нем не поднять (хотя бы потому что потоки он не держит)
Вот мне тоже советовали, но как ими пользоватся разобратся не могу. Если Вас не затруднит, помогите пожалуйста.
|
|
|

01.06.2010, 16:39
|
|
Познающий
Регистрация: 13.02.2007
Сообщений: 41
С нами:
10125997
Репутация:
26
|
|
Ну что то вроде:
Код:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
//html - строка с разметкой, полученная, например, HttpWebRequest'ом
HtmlNode inputNode= doc.DocumentNode.SelectSingleNode("//input[@name='username']");
Здесь мы сделали объект HtmlDocument, с которым можно обращаться с помощью XPath, и далее вытащили икспафом ноду (примерно такую: <input name="username"...</input>).
Подробнее лучше посмотреть у W3C, там большая дока по XPath.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|