الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن الحصول على محتوى صفحة ويب ؟

بدأه HaTy في 28 مايو 2009 · 7 رد · 965 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

الاخوة الاعزاء لي سؤال يرجى التكرم بالاجابة عليه وهو كيف يمكنني استيراد محتوى صفحة ويب ؟

فمثلا في هذه الصفحة Click Here توجد قيمتين تتغيران كل ثانيتين تقريبا .

فكيف يمكنني الحصول على هاتين القيمتين الموجودتان في صفحة الويب السابقة ووضعهما في متغيرين ثم استخدامهما في برنامجي ؟

شكرا مسبقا

تحياتي

تم تعديل هذه المشاركة بواسطة HaTy في 28 مايو 2009 في 16:53

while( "اسلام" )
{
 cout >> "الموت لبني صهيون" >> endl;
}
return "فلسطين";
#2

حياك الله أخوي

يجب عليك إستخدام Socket ... للإتصال بالموقع وتحميل البيانات منه ...

فقط إبحث في قوقل عن "C++ sockets windows" وستجد ألالاف الصفحات تتحدث عن كيفية الإتصال وإضافة المكتبة الخاصة به وشرحة بالتفصيل ...

#3

بســم الله الـرحمــن الرحيــم

حياك الله و بياك اخي b.m.s

اجيد التعامل مع الـ Socket وبروتوكولي الاتصال UDP , TCP ولكن اعتقد عمل Parse لصفحات Web لا يتم بطريقة مباشرة

اعتقد يجب عمل Request عموما ان كان لديك Approach لعمل ذلك او مثال , فارجوا منك ارفاقه لإني بصراحة لم اجد مثال مباشر رغم بحثي على الانترنت

تقبل تحياتي

تم تعديل هذه المشاركة بواسطة HaTy في 29 مايو 2009 في 21:38

while( "اسلام" )
{
 cout >> "الموت لبني صهيون" >> endl;
}
return "فلسطين";
#6

وعليكــم السـلام ورحمة الله وبركاتـه..

شكرا على الوابط اخي بن العيد ولكني لم اجد فيها مثال للويندوز

اعتقد الروابط تخص نظام Linux كما ان الامر wget لا يعمل معي على الويندوز

شكرا على الـ Tip اخي b.m.s

ارجو ممن يعلم كيفة الحصول على محتويات صفحات الويب ان يشرح لنا

بمثال على كيفية الحصول على معلومات هذه الصفحة Click Here

مع شكري المسبق

تحياتي

while( "اسلام" )
{
 cout >> "الموت لبني صهيون" >> endl;
}
return "فلسطين";
#7

الحل الذى اعرفه يتم بإستخدام ادوات الدوت نت (الكود التالى بالـ C#)

أبدء مشروع جديد Windows Forms و قم بإضافة Label و اترك اسمه label1

و اكتب بداخل الفورم الكود التالى:

		private void Form1_Load(object sender, EventArgs e)
		{
			WebBrowser wb = new WebBrowser();
			wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted);
			wb.Navigate("http://www.cwshare.org/www.dvbsat.org_xppc.php");
		}

		void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
		{
			label1.Text = (sender as WebBrowser).Document.Body.OuterText;
		}

قمت بأخذ نسخة من اداة المتصفح الخاصه بميكروسوفت

بعد ذلك قمت بتحديد اسم الـ Handler للحدث الخاص بإنتهاء تحميل الصفحة و بعد ذلك قمت بعمل navigate للصفحه بعد انتهاء تحميلها سيتم تنفيذ الكود الخاص بالـ Handler.

الكود الخاص بالـ Handler كل ما يقوم به هو تحويل الـ sender الخاص بالـ Handler لكائن من نوع WebBrowser (الذى قام بتفعيل الحدث) بعد ذلك يتم الدخول على المحتوى الخاص بالصفحة (كـ HTML) ثم يتم الدخول على الـ Body الخاص بالصفحة (و هى ترجع بكائن من نوع HTMLElement) و التى من خلالها اقوم بأخذ كل محتويات الـ Body ألخاص بالصفحة الـ HTML كنصو بعدها اضعه داخل خاصية الـ Text داخل الـ Label.

مرفق كود المثال.

ملاحظه : انا اخذت الـ OuterText الخاص بالـ Body لإن الصفحه المذكوره النص الموجود بها موجود داخل الـ Body Tag مباشرة

و الله و لى التوفيق.

GetWbPage.rar

تم تعديل هذه المشاركة بواسطة Game Expert في 1 يونيو 2009 في 16:38

مدونتي: C++ Tips and Tricks

#8

السلام عليكــم ورحمـة الله وبركاتــه ،،

الف شكر اخي Game Expert

في الحقيقة انا ابنعدت عن VB6 و VB.net للتعمق في البرمجة بعيدا عن الـ Components الجاهزة

وبرغم قوة المكونات التي توفرها Delphi وشبهها النسبي بالفيجول بيسك الا اني لم انسجم معها , ربما لإني اغرمت بـ Syntax الـ C .

ما اوده فعلا فهم البرمجة في الـ Low Level ولهذا اتجهت لـ C/++C وربما لاحقا إن شاء الله تعالى لـ Assembly

ولهذا ارجو ان يكون المثال بـ C/++C

تحياتي

while( "اسلام" )
{
 cout >> "الموت لبني صهيون" >> endl;
}
return "فلسطين";

مواضيع مشابهة