تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استفسار :- كيف اسحب معلومات من موقع الكتروني
#1
السلام عليكم ورحمة الله

قبل ما اكتب الموضوع عملت بحث في المنتدى عن الطريقه الي اريدها بس ما حصلت هناك مواضيع كثيره نفس الفكرة بس فيهم اختلاف 

الموضوع هو

هذا الموقع

https://hamspots.net/ft8/

اريد اسحب المعلومات التاليه
   

كود ال html  الخاص في هو


كود :
<div id="data_b">

<table id="spotsCluster">
 <thead>
   <tr><th>Age</th><th>DX</th><th>Freq</th><th>Sig</th><th>Mode</th><th style="cursor:help" title="US State">St</th><th class="dxccX">Country</th><th>Spotter</th></tr>
 </thead>


 <tbody>
   <tr class="band30"><td>1m</td><td class="callDX">RA9H</td><td class="r">10137.30</td><td class="r">-15</td><td>FT8</td><td></td><td class="dxccX">AS Russia</td><td class="l">JA6CBG</td></tr>
   <tr class="band30"><td>1m</td><td class="callDX lotw30">UA9OP</td><td class="r">10137.77</td><td class="r">-12</td><td>FT8</td><td></td><td class="dxccX">AS Russia</td><td class="l">JA6CBG</td></tr>
   <tr class="band30"><td>1m</td><td class="callDX lotw30">EI4KF</td><td class="r">10136.56</td><td class="r"><b>-24</b></td><td>FT8</td><td></td><td class="dxccX">Ireland</td><td class="l">JA6CBG</td></tr>
 
<tr class="band40"><td>2m</td><td class="callDX lotw40">RU0LL</td><td class="r">7075.83</td><td class="r">-17</td><td>FT8</td><td></td><td class="dxccX">AS Russia</td><td class="l">SM2SUM</td></tr>
   <tr class="band40"><td>2m</td><td class="callDX lotw40">OH2K</td><td class="r">7075.19</td><td class="r">-16</td><td>FT8</td><td></td><td class="dxccX">Finland</td><td class="l">VK3BDX</td></tr>
 
 <tr class="band40"><td>2m</td><td class="callDX">2M0WEV</td><td class="r">7074.84</td><td class="r">-18</td><td>FT8</td><td></td><td class="dxccX">Scotland</td><td class="l">VK3BDX</td></tr>

 </tbody>
</table>


حاولت العمل بي webbrowser    بس ما ضبط

محتاج خيط بصيط يوضح لي الطريقه وانا اقوم بالباقي ان شاءالله


بارك الله فيكم وجزاكم الف خير
الرد }}}
تم الشكر بواسطة:
#2
تفضل اخي الطريقة

اول شي اعمل عدد معين من label ورتبها على شكل جدول وضعها في group box


ثم استخدم الكود التالي


اول اضف اداة web browser

ثم ضع الفروم لود

الكود التالي

        WebBrowser1.Navigate(" رابط الموقع ")



بعد مانضع رابط الموقع نبدا نحلل صفحة الموقع عن طريق فحص العنصر من المتصفح

مثلا سنجلب رقم يوجد بين وسمين
كود :
"r">10137.30</td>


تم سحبه بهذة الطريقه
كود :
  For Each ele As HtmlElement In  WebBrowser1.Document.GetElementsByTagName("r") ' r وهنا قمنا بعمل حلقة  تكرار كافية لفلترة الوسم
           label1.Text += vbNewLine + ele.InnerText ' td وهُنا قمنا بجلب قيم النص المُفلترة من وسم
       Next
وهكذا كرر مع كل وسم يوجد بينه ارقام
الرد }}}
تم الشكر بواسطة: dubai.eig , dubai.eig
#3
وعليكم السلام اخي
عن طريق الريجكس تقدر الحصول على اي شيء داخل السورس كود الصفحة 
مثال لو دخلنا داخل السور للصفحة ولقينا كلمات عديدة احدد السطر الذي اريد جلب كلمة من معينة 

نقول على هذا الرابط 
http://vb4arb.com/vb/showthread.php?tid=27704  رابط الموقع

لو اردنا جلب هاذي الكلمة  showthread من داخل هذا الرابط

الريجكس

PHP كود :
    <link rel="canonical" href="http://vb4arb.com/vb/(.*).php?tid=27704" /> 

وسوف يتم تحديد الكلمة من داخل القوسين بواسطة كود 
الكود

كود :
 Dim web As New WebClient()
       web.Encoding = Encoding.Default
       Dim result As String = web.DownloadString("url")
       Dim matchs As MatchCollection = Regex.Matches(result, "regex", RegexOptions.Compiled + RegexOptions.Multiline)
       Dim match As Match
       For Each match In matchs
           ListBox2.Items.Add(match.Groups.Item(1).ToString)
       Next

   End Sub
 
وتوجد اكواد كثيرة لجلب الكلمات وتوجدها في مواضيع المنتدا وانت تختار اي كود يناسبك وعليك تعلم كيف الحصول على الكلمات من خلال الريجكس 
وسوف يسهل لك كل شي في الحصول علية من داخل سورس 

اتمنا قد وضحت لك كل شيئ 

بالتوفيق اخي هذا شرحي للجميع الذين يريدون التعلم
الرد }}}
تم الشكر بواسطة: dubai.eig , dubai.eig



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


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