بیتا حکمت
پنج شنبه 25 تیر 1394, 23:55 عصر
سلام ، دوستان من میخوام که یه خزنده درست کنم ، تا همه لینک های یک سایت رو بدست بیارم . کدی که پایین می بینید لینک های صفحه اول رو برمی گردونه
string filename = "myFile.txt";
if (System.IO.File.Exists(filename))
System.IO.File.Delete(filename);
ListBox listBox1 = new ListBox();
List<string> s = new List<string>();
s = showlinks(textBox1.Text);
for (int i = 0; i <= s.Count - 1; i++)
{
Boolean shart = false;
if (s[i].ToString().Contains(".pdf") || s[i].ToString().Contains(".jpg") || s[i].ToString().Contains(".png") ||
s[i].ToString().Contains(".bmp") || s[i].ToString().Contains(".css") || s[i].ToString().Contains(".js") ||
s[i].ToString().Contains(".gif")|| s[i].ToString().Contains(".swf"))
shart = true;
if (!string.IsNullOrEmpty(s[i].ToString()) && s[i].ToString().Contains(textBox2.Text) && shart==false )
{
listBox1.Items.Add(s[i].ToString());
using (StreamWriter w = File.AppendText(filename))
{
w.WriteLine(s[i].ToString());
}
}
}
s.Clear();
همونطور که تو کد می بینید لینک های صفحه اول به لیست باکس یک اضافه میشن ، من برای اینکه از هر لینک ، لینک های فرزند هم بدست بیاد این کد رو در ادامه کد بالا نوشتم
ولی برنامه هنگید
for (int i = 0; i <= listBox1.Items.Count-1; i++)
{
s.Clear();
s = showlinks(listBox1.Items[i].ToString());
Boolean shart = false;
if (s[i].ToString().Contains(".pdf") || s[i].ToString().Contains(".jpg") || s[i].ToString().Contains(".png") ||
s[i].ToString().Contains(".bmp") || s[i].ToString().Contains(".css") || s[i].ToString().Contains(".js") ||
s[i].ToString().Contains(".gif") || s[i].ToString().Contains(".swf"))
shart = true;
string line;
// Read the file and display it line by line.
System.IO.StreamReader file =
new System.IO.StreamReader(filename);
while ((line = file.ReadLine()) != null)
{
if (s[i].ToString() == line)
shart = true;
}
file.Close();
if (!string.IsNullOrEmpty(s[i].ToString()) && s[i].ToString().Contains(textBox2.Text) && shart == false)
{ // begin if
listBox1.Items.Add(s[i].ToString());
using (StreamWriter w = File.AppendText(filename))
{
w.WriteLine(s[i].ToString());
}
}// end if
listBox1.Items.Remove(s[i].ToString());
}
string filename = "myFile.txt";
if (System.IO.File.Exists(filename))
System.IO.File.Delete(filename);
ListBox listBox1 = new ListBox();
List<string> s = new List<string>();
s = showlinks(textBox1.Text);
for (int i = 0; i <= s.Count - 1; i++)
{
Boolean shart = false;
if (s[i].ToString().Contains(".pdf") || s[i].ToString().Contains(".jpg") || s[i].ToString().Contains(".png") ||
s[i].ToString().Contains(".bmp") || s[i].ToString().Contains(".css") || s[i].ToString().Contains(".js") ||
s[i].ToString().Contains(".gif")|| s[i].ToString().Contains(".swf"))
shart = true;
if (!string.IsNullOrEmpty(s[i].ToString()) && s[i].ToString().Contains(textBox2.Text) && shart==false )
{
listBox1.Items.Add(s[i].ToString());
using (StreamWriter w = File.AppendText(filename))
{
w.WriteLine(s[i].ToString());
}
}
}
s.Clear();
همونطور که تو کد می بینید لینک های صفحه اول به لیست باکس یک اضافه میشن ، من برای اینکه از هر لینک ، لینک های فرزند هم بدست بیاد این کد رو در ادامه کد بالا نوشتم
ولی برنامه هنگید
for (int i = 0; i <= listBox1.Items.Count-1; i++)
{
s.Clear();
s = showlinks(listBox1.Items[i].ToString());
Boolean shart = false;
if (s[i].ToString().Contains(".pdf") || s[i].ToString().Contains(".jpg") || s[i].ToString().Contains(".png") ||
s[i].ToString().Contains(".bmp") || s[i].ToString().Contains(".css") || s[i].ToString().Contains(".js") ||
s[i].ToString().Contains(".gif") || s[i].ToString().Contains(".swf"))
shart = true;
string line;
// Read the file and display it line by line.
System.IO.StreamReader file =
new System.IO.StreamReader(filename);
while ((line = file.ReadLine()) != null)
{
if (s[i].ToString() == line)
shart = true;
}
file.Close();
if (!string.IsNullOrEmpty(s[i].ToString()) && s[i].ToString().Contains(textBox2.Text) && shart == false)
{ // begin if
listBox1.Items.Add(s[i].ToString());
using (StreamWriter w = File.AppendText(filename))
{
w.WriteLine(s[i].ToString());
}
}// end if
listBox1.Items.Remove(s[i].ToString());
}