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

هنالك صراحة عدة طرق ، ولكن بعضها سيواجه مشاكل بسبب عدم دعم المبرمجين للمعايير القياسية ، وهنا لو تعاملت مع الصفحة على أنها جذر 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)
من مقالاتي