تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] داتا جريت فيو
#11
الكود باختصار
انشأنا متغير من نوع WebRequest من ااجل الوصول إلى سورس كود الصفحة ، ولأن الــ WebRequest لا توجد بها خاصية للوصول الى السورس قمنا بتمرير الناتج من ذلك الرابط إلى المتغييرين التاليين HttpWebResponse  و Stream
كل هذ من اجل الوصول الى سورس كود الصفحة
وبالإمكان الاستغناء عن الثلاثة السابقة باستخدام WebClient   هذه توصلك إلى السورس مباشرة ولكن مع الاسف لا تدعم اللغة العربية فستجد أي حرف عربي تحول الى علامة استفهام
بعد ذلك انشأنا متغير R من اجل قراءة النص الذي تم الحصول عليه من RD
بعدها انشأن متغير نصي S وقمنا بقراءة النص من اوله الى آخرة R.ReadToEnd
هذه العبارة (\r|\n) تعني فواصل الاسطر وكما ترى قمنا باستبدالها بلا شيء لان فواصل الاسطر قد تعيق عملية البحث
ثم بعد ذلك
S = Regex.Replace(S, "\s+", Space(1))
قمنا باستبدال المسافات بمسافة واحدة فقط هذا الرمز \s يعني مسافة وعلمة الــ + تعني تكرار هذه المسافة ، لو كان هناك مسافتان او ثلاث او 10 سيتم حذفها واستبدالها بمسافه واحدة فقط وهذا كلة من اجل الوصول الى عملة بحث دقيقة في النص المستخلص
Dim M As MatchCollection
بعد ذلك قمنا بأنشاء المتغير M من أجل عملية البحث المتعدد النتائج في النص
  M = Regex.Matches(S, "<meta\s*name=""description""\s*content=""(\d+,?\d+).+?Sad.+?)"".+dir=""ltr"">(.+?)</strong>")
    
هذه العبارة : "<meta\s*name="" موجودة في سورس كود الصفحة ماعدى \s* والتي تعني احتمال وجود مسافة و بالامكان حذفها واستبدالها بمسافة عادية
وكذلك هذه العبارة : description""\s*content=
الــ (\d+,?\d+)
تمثل المبالغ 1,500
ووضعنا خلف الفاصلة استفهام يعني ان الفاصلة اختيارية ان وجدها كان بها وان كان المبلغ بلا فاصلة فلا يتم تجاهلة
() القوسين الذي تم احاطة العددين بهما هو لحفظها في الذاكرة وهي التي ستمثل القروب الاول
بعد ذلك M(0).Groups(1).Value
طلبنا منه البحث عن أي شي يقع بعد العددين بهذا التعبير .+?: الى ان يصل الى النقطتين :
ولكن لو كان هناك في النص نقطتين  أخرى سيتم الوصول اليها ولكن عندما وضعنا الاستفهام خلف النقطة فهذا يلزم البرنامج بالوقوف عند اول نقطتين (Smile يقابلها
بعد ذلك طلبنا منها ان يبحث عن أي شي بعد النقطتين بها التعبير (.+?) وايضا اتبعنا عملية التكرار بالاستفهام لكي يقف عن اول نتيجة بحث يجدها ...... وكذلك باقي الكود
 
ولكي تفهم الموضوع جيدا راجع الــ Regex وان شاء الله ستفهم ما اقصده بهذا الكلام
-----
آسف ان كان الشرح غير واضح
 
الرد }}}
تم الشكر بواسطة: ابو روضة , asemshahen5 , سعود , bakriano30@yahoo.com


الردود في هذا الموضوع
داتا جريت فيو - بواسطة bakriano30@yahoo.com - 27-07-19, 07:55 AM
RE: داتا جريت فيو - بواسطة bakriano30@yahoo.com - 27-07-19, 07:13 PM
RE: داتا جريت فيو - بواسطة سعود - 27-07-19, 07:41 PM
RE: داتا جريت فيو - بواسطة bakriano30@yahoo.com - 27-07-19, 08:19 PM
RE: داتا جريت فيو - بواسطة bakriano30@yahoo.com - 27-07-19, 10:24 PM
RE: داتا جريت فيو - بواسطة bakriano30@yahoo.com - 27-07-19, 11:55 PM
RE: داتا جريت فيو - بواسطة سامي محمد - 28-07-19, 01:08 AM
RE: داتا جريت فيو - بواسطة bakriano30@yahoo.com - 28-07-19, 01:50 AM
RE: داتا جريت فيو - بواسطة ابراهيم ايبو - 28-07-19, 02:20 AM
RE: داتا جريت فيو - بواسطة bakriano30@yahoo.com - 28-07-19, 04:26 AM
RE: داتا جريت فيو - بواسطة سامي محمد - 28-07-19, 06:39 PM
RE: داتا جريت فيو - بواسطة سعود - 28-07-19, 08:30 PM
RE: داتا جريت فيو - بواسطة bakriano30@yahoo.com - 29-07-19, 05:48 AM
RE: داتا جريت فيو - بواسطة AAAAAAAAA - 28-07-19, 09:20 PM
RE: داتا جريت فيو - بواسطة سعود - 29-07-19, 06:16 AM
RE: داتا جريت فيو - بواسطة bakriano30@yahoo.com - 29-07-19, 06:38 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,224 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  [VB.NET] حقل الزامي ضمن داتا كريت فيو EMADW 1 412 20-05-25, 01:12 PM
آخر رد: princelovelorn
  [VB.NET] داتا كريت فيو EMADW 13 1,148 15-05-25, 10:48 PM
آخر رد: Taha Okla
  [VB.NET] جمع عمود داتا كريت فيو مع تجاهل الخلايا الفارغة EMADW 4 486 29-04-25, 10:57 PM
آخر رد: Taha Okla
  [VB.NET] ترقيم داتا كريت فيو EMADW 1 343 21-04-25, 11:52 PM
آخر رد: Taha Okla
  [VB.NET] استدعاء داتا كريت فيو من فورم اخر EMADW 1 420 16-04-25, 06:10 PM
آخر رد: مصمم هاوي
  [VB.NET] بطئ جلب البيانات في داتا جرد فيو h2551996 4 486 06-01-25, 06:45 PM
آخر رد: h2551996
  كيف اقدر اجلب بيانات من ملف اكسل الى داتا جريد فيو alachk 5 786 07-08-24, 08:49 PM
آخر رد: alachk
  [VB.NET] احتاج الى حل في عرض الملفات على داتا جرد فيو raedre22 4 587 11-07-24, 06:32 PM
آخر رد: raedre22
  منع تكرار العناصر في داتا جيرد في حال وجود نفس العنصر والسعر سويا moh61 3 655 19-05-24, 02:40 PM
آخر رد: moh61

التنقل السريع :


يقوم بقرائة الموضوع: