تقييم الموضوع :
  • 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
#12
حقل الرقم بالصفحة يحتاج نقر عليه ليظهر الرقم واظن يحتاج ويب براوزر.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة:
#13
(28-07-19, 06:39 PM)سامي محمد كتب : وبالإمكان الاستغناء عن الثلاثة السابقة باستخدام WebClient هذه توصلك إلى السورس مباشرة
ولكن مع الاسف لا تدعم اللغة العربية فستجد أي حرف عربي تحول الى علامة استفهام
كود :
Dim wc As New WebClient()
wc.Encoding = Encoding.UTF8
Dim s As String = wc.DownloadString("http://website")
كود :
Dim s As String
Using wc As New WebClient()
   wc.Encoding = Encoding.UTF8
   s = wc.DownloadString("http://website")
End Using
كود :
Dim s As String
Using wc As New WebClient() With {.Encoding = Encoding.UTF8}
   s = wc.DownloadString("http://website)
End Using
كود :
Dim s = New WebClient() With {.Encoding = Encoding.UTF8}.DownloadString("http://website")
الرد }}}
تم الشكر بواسطة: asemshahen5 , سعود , سامي محمد , bakriano30@yahoo.com
#14
(28-07-19, 08:30 PM)سعود كتب : حقل الرقم بالصفحة يحتاج نقر عليه ليظهر الرقم  واظن يحتاج ويب براوزر.

طب كيف يتم ذلك تلقائي انا رأيتها في اكثر من برنامج يظهر الرقم عادي

(28-07-19, 08:30 PM)سعود كتب : حقل الرقم بالصفحة يحتاج نقر عليه ليظهر الرقم  واظن يحتاج ويب براوزر.

طب كيف يتم ذلك تلقائي انا رأيتها في اكثر من برنامج يظهر الرقم عادي
الرد }}}
تم الشكر بواسطة:
#15
إقتباس :طب كيف يتم ذلك تلقائي انا رأيتها في اكثر من برنامج يظهر الرقم عادي
والله جالس احاول ومفيش فايدة
اذكر الاخ ابوروضة ظل يبحث بالموضوع واظن لديه معلومة والله اعلم.
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير
الرد }}}
تم الشكر بواسطة: bakriano30@yahoo.com
#16
(29-07-19, 06:16 AM)سعود كتب :
إقتباس :طب كيف يتم ذلك تلقائي انا رأيتها في اكثر من برنامج يظهر الرقم عادي
والله جالس احاول ومفيش فايدة
اذكر الاخ ابوروضة ظل يبحث بالموضوع واظن لديه معلومة والله اعلم.

طب اخي سعود اتمني ان تنظر الي اخر موضوع لي بخصوص ارسال البريد وتعطيني من خبرتك الثمينه
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,222 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 485 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 419 16-04-25, 06:10 PM
آخر رد: مصمم هاوي
  [VB.NET] بطئ جلب البيانات في داتا جرد فيو h2551996 4 485 06-01-25, 06:45 PM
آخر رد: h2551996
  كيف اقدر اجلب بيانات من ملف اكسل الى داتا جريد فيو alachk 5 784 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

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


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