آموزش ساخت یک وب کرولر ساده با زبان برنامه نویسی سی شارپ
سلام دوستان
در این مقاله قصد دارم نحوه ساخت یک وب کرولر ساده رو به شما دوستان آموزش بدم
اگه می خواین بدونین
خزنده وب یا web crawler چیست؟
باید بگم
یک ابزار هست که صفحه html رو مورد بررسی قرار میده و اطلاعاتی که می خواد رو ازش برداشت میکنه
یکی از فایده هاش هم موتور های جستجو هست مثل بینگ و گوگل و...
که از خزنده برای بررسی یک وب سایت استفاده می کنند
و بعد با هوش مصنوعی درستی اطلاعات بدست اومده را بررسی می کنند
خوب حالا بریم سر اصل مطلب
ساخت خزنده وب
مورد اول
بدست اورد کد html یک url خاص
کد مورد نیاز:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(textBox1.Text);
request.UserAgent = "A .NET Web Crawler";
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
string htmlText = reader.ReadToEnd();
مورد دوم دریافت تایتل صفحه:
MatchCollection data = Regex.Matches(htmlCode, @"<title>\s*(.+?)\s*</title>", RegexOptions.Singleline);
foreach (Match m in data)
{
String downtitle = m.Groups[1].Value;
label1.Text = downtitle;
}
در اینجا برای بدست اوردن تایتل صفحه از دستورات regex استفاده شده
مورد سوم دریافت تمامی لینک های صفحه:
Regex regexLink = new Regex("(?<=<a\\s*?href=(?:'|\"))[^'\"]*?(?=(?:'|\"))");
ISet<string> newLinks = new HashSet<string>();
foreach (var match in regexLink.Matches(content))
{
if (!newLinks.Contains(match.ToString()))
{
newLinks.Add(match.ToString());
listBox1.Items.Add(match.ToString());
}
}
خوب دوستان امیدوارم خوشتون اومده باشه به زودی یک مطلب درباره regex و دستوراتش می زارم
پایان.