تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] جلب رابط من موقع
#11
(28-12-20, 10:12 PM)معاند الحظ كتب : وعليك السلام ورحمة الله وبركاته
با اخي العزيز.
القيت نظرة على الكود الذي اعطاك اياه اخونا alfaiz678 جزاه الله خير 
ورغم اني لم اقم بتجربته لكني اجزم انه هو ماتريد بالضبط
لكن اين المشكلة هنا؟
المشكلة انك لم تجرب الكود بل ايضا  يبدو انك لاتعرف طريقة استخدامه  . 
لذا خذ مني نصيحة هي ان تحاول تبسط الاشياء يعني انت تريد كود يجلب الروابط من الانترنت
واشترطت انك لاتريد سوى رابط واحد 
الان كل ماعليك فعله في الكود هو ان تخرج من الحلقة اذا استخرجت الرابط الذي تريده

ولنفترض انك تريد هذا الرابط :http://www.microsoft.com/vs2020download

 ولكي تحصل عليه لابد ان تقوم بمراجعة الروابط ثم فرزها بحسب الشروط التي تريدها
والكود يحتوي على حلقة دوران for تدور على كل الروابط وهنا يجب عليك ان تتاكد من كل رابط في الحلقة
هل هو نفس الرابط الذي تريده ؟ اذا نعم احفظ الرابط في متغير واخرج من الحلقة واذا لا استمر في الدوران على بقية الروابط
وهكذا اذا كان الموقع فعلا يحتوي على الرابط الذي تريده فسوف تجده حتما اثناء دوران الحلقة

اليك هذا المثال البسيط
افتح مشروع جديد وضع على الفورم صندوق نص وسمه rtxt وضع ايضا زر
الان افتح محرر الكود والصق الكود التالي

PHP كود :
Imports System.Net
Imports System
.Text.RegularExpressions

Public Class Form1
    Dim WithEvents wc 
As New WebClient


    
Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        Dim url 
As String "https://marketplace.visualstudio.com/"
        wc.DownloadStringAsync(New Uri(url))
    End Sub


    
Private Sub wc_DownloadStringCompleted(sender As ObjectAs System.Net.DownloadStringCompletedEventArgsHandles wc.DownloadStringCompleted
        Dim pattern 
As String "(?:(?:https?|ftp):\/\/|\b(?:[a-z\d]+\.))(?:(?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))?\))+(?:\((?:[^\s()<>]+|(?:\(?:[^\s()<>]+\)))?\)|[^\s`!()\[\]{};:'"".,<>?«»""‘’]))?"

        Dim mx As Match
        
For Each mx In Regex.Matches(e.ResultpatternRegexOptions.Multiline RegexOptions.Compiled)

            rtxt.AppendText(mx.Value vbNewLine)

        Next
    End Sub

End 
Class 

عند الضغط على الزر تقوم الاداة wc وهي من فئة webclient بتحميل شفرة الموقع
وعند اكتمال تحميل الشفرة وضعت حلقة دوران تتحقق او تبحث عن الروابط ضمن شفرة الموقع
التي تم تحميلها وكل رابط يوجد في شفرة الموقع سيتم اضافته الى صندوق النص rtxt

يبقى عليك فقط ان تتحقق من كل رابط فيما اذا كان هو الرابط المطلوب

وسلااااام عليك خيووو

بالتوفيق

شكرا لك اخي
ولكن كيف بامكاني التحقق من الروابط واخذ رابط معين من كل هذه الروابط
الرد }}}
تم الشكر بواسطة:
#12
اخوي هذا يعتمد عليك لانك انت الوحيد اللي يعرف ايش الرابط
لكن لو كنت مثلا تريد ان يكون ينتهي الرابط بتنسيق zip او jpg 
فانك من داخل الحلقة ومع كل رابط تتحقق هل ينتهي بـ zip او jpg فاذا كان الرابط فعلا ينتهي بالشرط السابق 
فيمكنك حفظ الرابط والخروج من الحلقة باستخدام الجملة exit for او يمكنك اكمالها

عموما انت الوحيد الذي يعرف مواصفات الروابط التي تريدها
 لكن زيادة في الايضاح الكود التالي mx.Value يحتوي على الروابط المستخرجة 
فلو كنت تريد حفظ كل الروابط التي تنتهي بـzip فيجب ان تعرف نص الرابط المخزن في mx.Value

اليك هذا  الكود  وهو اللي اعطيتك لكن اضفت اليه مصفوفة ا myLinks  حفظ فيها الروابط التي اريدها
واذا اردت يمكنك حفظ كل الروابط التي في المصفوفة الى جهازك في ملف نصي


PHP كود :
Imports System.Net
Imports System
.Text.RegularExpressions

Public Class Form1
    Dim WithEvents wc 
As New WebClient
    Dim myLinks 
As New List (Of String)

    Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        Dim url 
As String "https://marketplace.visualstudio.com/"
        wc.DownloadStringAsync(New Uri(url))
    End Sub
    
    
Private Sub wc_DownloadStringCompleted(sender As ObjectAs System.Net.DownloadStringCompletedEventArgsHandles wc.DownloadStringCompleted
        Dim pattern 
As String "(?:(?:https?|ftp):\/\/|\b(?:[a-z\d]+\.))(?:(?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))?\))+(?:\((?:[^\s()<>]+|(?:\(?:[^\s()<>]+\)))?\)|[^\s`!()\[\]{};:'"".,<>?«»""‘’]))?"

        Dim mx As Match
        
For Each mx In Regex.Matches(e.ResultpatternRegexOptions.Multiline RegexOptions.Compiled)
              If mx.Value.EndsWith("zip"Then
                
'حفظ الروابط المطابقة
                myLinks.Add(mx.Value)
            End if
        Next
    End Sub

End Class  

الرد }}}
تم الشكر بواسطة: ابو روضة , ابو روضة , asemshahen5 , MaxXx
#13
حسب ما فهمت من سؤالك أن تريد ان تستخرج رابطا من موقع ما و هو قد يتغير الحل سهل
استخدام webclient او webrequest لقراءة محتوى الصفحة و regex لتعيين الرابط الذي تحتاجه من بين كل تلك الأكواد
اذا كان هذا ما تريده اعمل بحث عما اخبرتك و حاول التطبيق اذا لم تنجح سأساعدك
الرد }}}
تم الشكر بواسطة: معاند الحظ , MaxXx
#14
(28-12-20, 11:44 PM)معاند الحظ كتب : اخوي هذا يعتمد عليك لانك انت الوحيد اللي يعرف ايش الرابط
لكن لو كنت مثلا تريد ان يكون ينتهي الرابط بتنسيق zip او jpg 
فانك من داخل الحلقة ومع كل رابط تتحقق هل ينتهي بـ zip او jpg فاذا كان الرابط فعلا ينتهي بالشرط السابق 
فيمكنك حفظ الرابط والخروج من الحلقة باستخدام الجملة exit for او يمكنك اكمالها

عموما انت الوحيد الذي يعرف مواصفات الروابط التي تريدها
 لكن زيادة في الايضاح الكود التالي mx.Value يحتوي على الروابط المستخرجة 
فلو كنت تريد حفظ كل الروابط التي تنتهي بـzip فيجب ان تعرف نص الرابط المخزن في mx.Value

اليك هذا  الكود  وهو اللي اعطيتك لكن اضفت اليه مصفوفة ا myLinks  حفظ فيها الروابط التي اريدها
واذا اردت يمكنك حفظ كل الروابط التي في المصفوفة الى جهازك في ملف نصي


PHP كود :
Imports System.Net
Imports System
.Text.RegularExpressions

Public Class Form1
    Dim WithEvents wc 
As New WebClient
    Dim myLinks 
As New List (Of String)

    Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        Dim url 
As String "https://marketplace.visualstudio.com/"
        wc.DownloadStringAsync(New Uri(url))
    End Sub
    
    
Private Sub wc_DownloadStringCompleted(sender As ObjectAs System.Net.DownloadStringCompletedEventArgsHandles wc.DownloadStringCompleted
        Dim pattern 
As String "(?:(?:https?|ftp):\/\/|\b(?:[a-z\d]+\.))(?:(?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))?\))+(?:\((?:[^\s()<>]+|(?:\(?:[^\s()<>]+\)))?\)|[^\s`!()\[\]{};:'"".,<>?«»""‘’]))?"

        Dim mx As Match
        
For Each mx In Regex.Matches(e.ResultpatternRegexOptions.Multiline RegexOptions.Compiled)
              If mx.Value.EndsWith("zip"Then
                
'حفظ الروابط المطابقة
                myLinks.Add(mx.Value)
            End if
        Next
    End Sub

End Class  

شكرا لك ولكن حاولت اني استرد الروابط المنتهية مثلا بي png ولكن للاسف مش راضي يستردها

(29-12-20, 12:11 PM)ADAM12 كتب : حسب ما فهمت من سؤالك أن تريد ان تستخرج رابطا من موقع ما و هو قد يتغير الحل سهل
استخدام webclient او webrequest لقراءة محتوى الصفحة و regex لتعيين الرابط الذي تحتاجه من بين كل تلك الأكواد
اذا كان هذا ما تريده اعمل بحث عما اخبرتك و حاول التطبيق اذا لم تنجح سأساعدك

بص يا كبير انا شوفت الموضوع ده بتاع شخص هنا في المنتدي
http://vb4arb.com/vb/showthread.php?tid=36742
وانا عاوز اعمله نفس طريقته ولكن علي الموقع المذكور في الموضوع
وحاولت بالكود الموجود في الموضوع ده ولكن للاسف مش بيرضي يستردها او مش عارف اني استردها انا اريد ان استرد اي رابط مهما كان مثل هذا الموضوع
وشكرا ليك
الرد }}}
تم الشكر بواسطة:
#15
الرابط بالموضوع غير شغال و هو اصلا من تطبيق ياسين تيفي
و أنا أعلم جيدا ما تريد الوصول إليه
الخلاصة اذا اردت تحقيق ذلك دع رابطاصحيحا هنا و كمعلومة مجانية مني ما سأعطيه لك أو يتركم به أي عضو بالمنتدى لن ينفعك في حالة ما إذا أردت تعميم الفكرة و أنت لا تفهم معنى الأكواد لأنالأمر دقيق و يحتاج منك لتفحص الصفحات جيدا لمعرفة المكان المحدد لأي رابط تحتاجه
ملاحظة : أسمي أمين و ربما تعرفني Big Grin
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اختبار الفاتورة في موقع يطلع خطأ thepast 0 208 21-12-23, 12:06 PM
آخر رد: thepast
  تحديد موقع ملف user.config واعدة توجيهه لموقع آخر Mohammed Nafa 3 439 07-11-23, 10:12 PM
آخر رد: Mohammed Nafa
  ما هو أفضل موقع موثوق فيه ترشحونه لربط قاعدة البيانات عليه أونلاين hazim1 1 373 16-09-23, 10:32 AM
آخر رد: Amir_Alzubidy
  تنزيل ملف من موقع علي الانترنت ؟ Abdh111 12 1,282 04-05-23, 07:22 PM
آخر رد: ramy alfoly
  د عند وضع رابط موقع على TEXBOX يفتح روابط موجودة في موقع M3U على LISTVIEW HASNI14 8 883 02-02-23, 06:51 PM
آخر رد: trakktour
  ازاي اسحب رابط من سطر كامل Meroo1809 7 823 23-01-23, 11:08 PM
آخر رد: Meroo1809
  مطلوب رابط لبرنامج Advanced Installer (كامل) mmaalmesry 10 1,333 12-10-22, 05:15 AM
آخر رد: DR.YASER
Star مطلوب رابط بنامج VB2010 لو سمحتم أبو خالد الشكري 10 1,155 14-07-22, 06:22 AM
آخر رد: سعود
  [سؤال] السلام عليكم ممكن رابط تحميل كريستال ريبورت للفيجوال بيسك 2013 حسن الجلب 1 1,166 27-05-22, 04:58 PM
آخر رد: essawq
  أستخراج نص من موقع ويب aldery 2 1,037 06-05-22, 08:12 PM
آخر رد: aldery

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم