Linkleri cekmek
-
20 Haziran 2012 Çarşamba 19:08Merhaba arkadaşlar bi sitedeki linkleri nasıl cekebilirm Bi kod bulmuştum tıkladıgımda about:\... felan die cekiyor bazılarını dogru cekiyor bazılarını yanlış cekiyor. BANA BU KONUDA YARDIMCI OLABİLİRSENİZ COK SEVİNİRİM Kolay gelsin.
Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun
Tüm Yanıtlar
-
20 Haziran 2012 Çarşamba 22:02
static class LinkFinder { public static List<LinkItem> Find(string file) { List<LinkItem> list = new List<LinkItem>(); MatchCollection m1 = Regex.Matches(file, @"(<a.*?>.*?</a>)", RegexOptions.Singleline); foreach (Match m in m1) { string value = m.Groups[1].Value; LinkItem i = new LinkItem(); Match m2 = Regex.Match(value, @"href=\""(.*?)\""", RegexOptions.Singleline); if (m2.Success) { i.Href = m2.Groups[1].Value; } string t = Regex.Replace(value, @"\s*<.*?>\s*", "", RegexOptions.Singleline); i.Text = t; list.Add(i); } return list; } } public struct LinkItem { public string Href; public string Text; public override string ToString() { return Href + "\n\t" + Text; } }Bu sınıfları kullanarak kolayca çekebilirsin. Sınıfları ekledikten sonra aşağıdaki gibi kullanabilirsin.
List<LinkItem> linkListesi=LinkFinder.Find(html);
- Yanıt Olarak Öneren Emre GunerturkModerator 21 Haziran 2012 Perşembe 10:42
- Yanıt Olarak İşaretleyen Yaşar Tunç 21 Haziran 2012 Perşembe 14:29
- Yanıt İşaretini Geri Alan Yaşar Tunç 21 Haziran 2012 Perşembe 14:58
-
21 Haziran 2012 Perşembe 14:29
Hocam nasıl kullanıyoruz bunu Teşekkür ettim ama kulalnamadım :))))
List<LinkItem> linkListesi=LinkFinder.Find(html);
Listbox1.add eklemek istiyorum ama nasıl
- Düzenleyen Yaşar Tunç 21 Haziran 2012 Perşembe 14:59
-
21 Haziran 2012 Perşembe 15:10
foreach(var link in linkListesi) { Listbox1.Add(link); } -
21 Haziran 2012 Perşembe 15:15
strink = webBrowser1.Document.Body.InnerHtml; webbrowsdeki sayfanın html kodunu alıyorum
List<numaracekme.LinkFinder.LinkItem> linkListesi = LinkFinder.Find(strink); html kodu buraya yolluyorum
listBox1.Items.Add(linkListesi.Count.ToString());//0 GELİYORforeach(var link in linkListesi) { Listbox1.Add(link); HALİYLE EKLEMİYOR }
Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun
-
21 Haziran 2012 Perşembe 15:22
strink = webBrowser1.Document.Body.InnerHtml; webbrowsdeki sayfanın html kodunu alıyorum
List<numaracekme.LinkFinder.LinkItem> linkListesi = LinkFinder.Find(strink); html kodu buraya yolluyorum
listBox1.Items.Add(linkListesi.Count.ToString());//0 GELİYORforeach(var link in linkListesi) { Listbox1.Add(link); HALİYLE EKLEMİYOR }
Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun
strink = webBrowser1.Document.Body.InnerHtml; List<numaracekme.LinkFinder.LinkItem> linkListesi = LinkFinder.Find(strink); foreach(var x in linkListesi) { listBox1.Items.Add(x); }
Eğer gelmiyorsa breakpoint koyup strink değişkeninin değerini kontrol et, büyük ihtimalle html gelmiyordur. -
21 Haziran 2012 Perşembe 15:34
Error 1 The type name 'LinkItem' does not exist in the type 'sistem.LinkFinder' C:\Documents and Settings\WinXp\Belgelerim\Visual Studio 2008\Projects\sistem\sistem\Form1.cs 1373 41
Error 2 Cannot implicitly convert type 'System.Collections.Generic.List<sistem.LinkItem>' to 'System.Collections.Generic.List<sistem.LinkFinder.LinkItem>' C:\Documents and Settings\WinXp\Belgelerim\Visual Studio 2008\Projects\sistem\sistem\Form1.cs 1373 65 sistem
böylebir hata alıyorum
Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun
- Düzenleyen Yaşar Tunç 21 Haziran 2012 Perşembe 15:34
-
21 Haziran 2012 Perşembe 15:43
Baya karıştırmışsın sen ya. Birden fazla yerde tanımlamışsın sınıfları. Tekrar bir gözden geçir.
strink = webBrowser1.Document.Body.InnerHtml; List<LinkItem> linkListesi = LinkFinder.Find(strink); foreach(LinkItem x in linkListesi) { listBox1.Items.Add(x.Href); } -
21 Haziran 2012 Perşembe 16:27
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace numaracekme
{
static class LinkFinder
{
public static List<LinkItem> Find(string file)
{
List<LinkItem> list = new List<LinkItem>();
MatchCollection m1 = Regex.Matches(file, @"(<a.*?>.*?</a>)",
RegexOptions.Singleline);
foreach (Match m in m1)
{
string value = m.Groups[1].Value;
LinkItem i = new LinkItem();
Match m2 = Regex.Match(value, @"href=\""(.*?)\""",
RegexOptions.Singleline);
if (m2.Success)
{
i.Href = m2.Groups[1].Value;
}
string t = Regex.Replace(value, @"\s*<.*?>\s*", "",
RegexOptions.Singleline);
i.Text = t;
list.Add(i);
}
return list;
}
}
public struct LinkItem
{
public string Href;
public string Text;
public override string ToString()
{
return Href + "\n\t" + Text;
}
}
}
SINIF BU ŞEKİLDE
BUTTON OLAYINDA
strink = webBrowser1.Document.Body.InnerHtml;
List<LinkItem> linkListesi = LinkFinder.Find(strink);
foreach (LinkItem x in linkListesi)
{
listBox1.Items.Add(x.Href);
}FAKAT KOD CALIŞTIRAMADIM HATA ALMIYORUM ŞUANDA FAKAT link gelmiyor cekmiyor 0 geliyor count (:
Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun
-
21 Haziran 2012 Perşembe 16:40
Debug yapıp strink değişkeninin değerini kontrol ettin mi, veri geliyor mu html stringi? Büyük ihtimalle gelmiyor çünkü linkleri bulan sınıfta herhangi bir sorun yok denedim. Aşağıdaki gibi denersen çalıştığını görebilirsin.
strink=@"<html><body><a href=""http://www.microsoft.com"">Microsoft</a></body></html>";
- Yanıt Olarak Öneren Ali Rıza İnceoğluMicrosoft Contingent Staff, Owner 28 Haziran 2012 Perşembe 12:58
-
21 Haziran 2012 Perşembe 16:57Hocam BANA SİTE ÜZERİNDEN CALIŞAN Bİ PROJEYİ AYARLAYIP DAWLOAD LİNKİNİ VEREBLİRSENİZ Cok memnun kalırm beceremdim (:
Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun
-
22 Haziran 2012 Cuma 19:34Sorun devam ediyor.
Tek amacım Ekmek param Programcılık zor iş derler Parası yok derlerdi inanmazdım Saglık olsun