الوصول إلى وسم معين في صفحة

في أحيان كثيرة ، تحتاج إلى أن تستخرج محتوى من صفحة ويب برمجيا ، وأنا من خلال
نظرتك إلى وسوم هذه الصفحة ، تعلم أن النص موجود داخل وسم معين، فتريد استخراج
محتواه ، وإليك طريقتي.

هنالك صراحة عدة طرق ، ولكن بعضها سيواجه مشاكل بسبب عدم دعم المبرمجين للمعايير
القياسية ، وهنا لو تعاملت مع الصفحة على أنها جذر XML وقرأتها بواسطة ال LINQ فلن
يجدي ذلك نفعا.

الطريقة الممكنة عبر استخدام الطريقة التقليدية وهي قراءة الصفحة
والبحث بذكاء عن
الوسم.
أولا نحتاج إلى قراءة الصفحة وهي كالتالي:


Dim WClient As New WebClient()
Dim Content As String = WClient.DownloadString("http//deveworld.com")
 

الآن لدينا محتوى الموقع في متغير نصي ، يتوجب الآن  البحث عن الوسم بذكاء ،أو
البحث عن الكلمة التي يأتي بعدها النص مثلا:


Dim catego As String = Content.Remove(0, Content.IndexOf("<strong >التصنيف"))
catego = catego.Remove(catego.IndexOf("</b></strong>"))
catego = catego.Replace("<strong >التصنيف", "")
 

هنا مثلا بحذف الوسوم والنصوص من بداية الصفحة المستخرجة ، إلى عند وسم الخط العريض
الذي يحتوي على كلمة تصنيف، وأيضا قمت بحذف ما بعد هذا الوسم ، وبذلك أكون استخرجت
بداية الوسم مع الوسم ، وإلى نهاية الوسم ، بدون إغلاقه ، طبعا تستطيع أن تعد عدد
أحرف الوسم وتقوم بطرحها أو بإضافتها حسب ما تريد مثال:

Dim write As String = str.Remove(0, str.IndexOf("size=""3"">") + 9)
 

بالتوفيق للجميع

About the author

خليل سليم

Leave a Comment

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.