ذخیره کردن page Source صفحات Web در یک فایل Text
با سلام.
من دیروز یک مرورگر ساده ی وب نوشتم که خب مثل IE و ... آدرس رو میگیره و وارد سایت ها میشه ولی من یه مشکلی دارم! میخوام توی این مرورگر وارد بعضی از سایت ها که میشم بتونم Page Source رو به صورت کامل در یک فایل Text ذخیره کنم و از طرف دیگه هم تمام تصاویر رو با همون پسوندی که هستن مثلا Gif یا Jpg تو همون پوشه ذخیره کنم. در واقع این پروژه یه نرم افزار ذخیره ی سایت و یا صفحات اینترنتی هستش! برای این موضوع کمی مشکل دارم که اگر دوستان کمی راهنمایی کنند ممنون میشم!
نقل قول: ذخیره کردن page Source صفحات Web در یک فایل Text
واکشی کردن PageSource ؛تست کنید
/// <summary>
/// Get a string representation of a webpage's source.
/// </summary>
/// <param name="URL">The URL to get the source from.</param>
/// <returns></returns>
string getPageSource(string URL)
{
System.Net.WebClient webClient = new System.Net.WebClient();
string strSource = webClient.DownloadString(URL);
webClient.Dispose();
return strSource;
}
برای ذخیره کردن عکس از این کد استفاده کنید
static public byte[] GetBytesFromUrl(string url)
{
byte[] b;
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(url);
WebResponse myResp = myReq.GetResponse();
Stream stream = myResp.GetResponseStream();
//int i;
using (BinaryReader br = new BinaryReader(stream))
{
//i = (int)(stream.Length);
b = br.ReadBytes(500000);
br.Close();
}
myResp.Close();
return b;
}
و با کد زیر میتوانید آن را در دیسک ذخیره کنید
static public void WriteBytesToFile(string fileName, byte[] content)
{
FileStream fs = new FileStream(fileName, FileMode.Create);
BinaryWriter w = new BinaryWriter(fs);
try
{
w.Write(content);
}
finally
{
fs.Close();
w.Close();
}
}
نقل قول: ذخیره کردن page Source صفحات Web در یک فایل Text
و یه سوال... برای این کار نیاز هست که کلید یا چیزی رو برداریم تا با فشار دادن اون این Source Page ذخیره بشه؟
نقل قول: ذخیره کردن page Source صفحات Web در یک فایل Text
شما میتونید در کلید اون تابع را صدا بزنید، هر جوری میتوانید استفاده کنید.بسته به سلیقه و در گاهی اوقات به این داره که قرار کجا ها صدا زده بشه(اگه قراره چند جا صدا زده بشه بهتره در کلاس باشه.