تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيفية عرض نص موجود على الانترنت داخل اداة مربع نص (الحصول على بيانات من صفحة ويب)
#1
السلام عليكم و رحمة الله و بركاته

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

{"Name1": "Value1", "Name2": "Value2", "Name3": "Value3"}

كيف يمكن الحصول على القيم من هذه الصفحة و هي لا تحتوي على اي وسوم و جسم او عنوان او اي كود مصدري
فقط تحتوي على السطر السابق
الرد }}}
تم الشكر بواسطة:
#2
وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , يمكنك الحصول على محتوى الصفحة من خلال الأمر :

PHP كود :
WebBrowser1.document.body.outerText 
الرد }}}
تم الشكر بواسطة: عبد العزيز البسكري , Amir_Alzubidy
#3
الف شكر اخي احمد على التفاعل و الرد
المشكلة ان الاداة WebBrowser لا تعرض الصفحة بل تقوم بعرض مربع حوار التحميل لتنزيل الملف
الرابط لجلب اسعار الذهب قد تستفيد منه
"http://www.goldsilverapps.com/gs/lp/v1/lp/1"
انا اتعامل مع الصفحة بالكود
MSHTML.HTMLDocument
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor
#4
اخي سعود
الفكرة هي تحويل برنامج اندرويد ليعمل على ويندوز
اي حل لعرض اول رقم في الصفحة و هو سعر الاونصة داخل مربع نص اكون شاكر لتعاونكم
الصفحة التي في الزابط مجهزة ليتعامل معها برنامج اندرويد و هي تحتوي فقط على مصفوفة
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor
#5
السلام عليكم و رحمة الله و بركاته
أخي الكريم:
في المثال المرفق تم الحصول على المطلوب بعد تحميل الصفحة على القرص
كان الهدف جلب القيمة مباشرة دون الحاجة لحفظ الملف على القرص
لأن البرنامج يحدث القيمة بشكل مستمر خلال فترة قصيرة


الملفات المرفقة
.rar   Gold Price.rar (الحجم : 6.65 ك ب / التحميلات : 52)
الرد }}}
تم الشكر بواسطة: Ahmed_Mansoor
#6
وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , تم تعديل المثال .


الملفات المرفقة
.rar   GoldPrice_1.rar (الحجم : 4.23 ك ب / التحميلات : 52)
الرد }}}
#7
(10-09-17, 01:28 PM)Ahmed_Mansoor كتب : وعليكم السلام ورحمة الله وبركاته

أهلا بك أخي الكريم , تم تعديل المثال .
جزاك الله خيرا أخي الكريم أحمد
كفيت و وفيت
ألف شكر
الرد }}}
تم الشكر بواسطة: سعود , Ahmed_Mansoor
#8
اخواني الكرام الفضول شدد علي بالمشاركة بالموضوعSmile
اول شي انظرو لصورة التطبيق:

واجهة vb6.0 ترسل رابط الصفحة وترسل كلمة المفتاح كما هو واضح بالصورة.

كود :
Private Sub Command1_Click()
Dim ob As Object
Set ob = CreateObject("GetStringsFromHtmlSource.GetStrings")
Text1.Text = ob.gstr("http://www.goldsilverapps.com/gs/lp/v1/lp/1", k.Text)
End Sub


وملف dll يحمل الصفحة ويرجع قيمة المفتاح.

من جهة الدوت نت عملت كلاس ليبراري
GetStringsFromHtmlSource.dll

و هذا هو محتواه:
كود :
Imports System.Text.RegularExpressions
Public Class GetStrings
   Public Function gstr(ByVal url As String, ByVal k As String) As String
       Dim lstkeys As New List(Of String)
       Dim lstvalues As New List(Of String)
       Dim html As String = ""
       Dim wc As New Net.WebClient
       html = wc.DownloadString(url)
       For Each h As String In html.Split(",")
           Dim str As String = """(.*?)"":.*?""(.*?)"""
           Dim reg As New Regex(str, RegexOptions.IgnoreCase)
           For Each ma As Match In reg.Matches(h)
               lstkeys.Add(ma.Groups(1).Value)
               lstvalues.Add(ma.Groups(2).Value)
           Next
       Next
       Return lstvalues(lstkeys.IndexOf(k))
   End Function
End Class
هذا من باب الفضول ليس الا Smile
و هذا لا يعني اني لا اريد تقديم المعلومة لكن اذا جاء الفضول متاخراSad
الله يكتب اجر الجميع.


الملفات المرفقة
.zip   GetStringsFromHtmlSource.zip (الحجم : 49.04 ك ب / التحميلات : 34)
.zip   vb6App.zip (الحجم : 11.08 ك ب / التحميلات : 39)
الرد }}}
#9
السلام عليكم
ألف شكر اخواني على التفاعل
و لتعم الفائدة أرفقت مثال جديد لتبسيط المسالة


الملفات المرفقة
.rar   Gold Price 2.rar (الحجم : 6.51 ك ب / التحميلات : 49)
الرد }}}
تم الشكر بواسطة: سعود , Amir_Alzubidy , أبو نوره , Ahmed_Mansoor
#10
مرحبا اخى

اذا استخدمت (Mid(StrSource, 9, 7 ستواجه مشكله لو نقص طول الرقم عن سبعه

الافضل تستخدم RegEx وهذه طريقتها

اضف المرجع التالى Microsoft VBScript Regular Expressions 5.5
وهذا تعديل الكود
PHP كود :
Private Sub cmdGetPrice_Click()

 
   cmdGetPrice.Enabled False
    
    Dim StrSource 
As String
    StrSource 
GetHTMLSource("http://www.goldsilverapps.com/gs/lp/v1/lp/1")
 
   
    
'Reference: Microsoft VBScript Regular Expressions 5.5'
 
   
    Dim myRegExp 
As RegExp
    Set myRegExp 
= New RegExp
    myRegExp
.Pattern "(\d+\.?\d+)"
 
   Dim myMatches As MatchCollection
    Set myMatches 
myRegExp.Execute(StrSource)
 
   If myMatches.Count 0 Then
        lblPrice
.Caption myMatches(0).Value
    End 
If
 
   
    cmdGetPrice
.Enabled True
End Sub 
الرد }}}
تم الشكر بواسطة: Mohamad Anan , Amir_Alzubidy , Ahmed_Mansoor


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Lightbulb الانتقال التلقائي من مربع نص الى اخر haider kh 0 96 15-03-24, 11:58 PM
آخر رد: haider kh
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 0 73 05-03-24, 02:40 PM
آخر رد: مصمم هاوي
  [vb6.0] طريقة تصدير بيانات الداتا ريبورت datareport لصيغة pdf hamada salah90 6 1,479 19-01-24, 07:59 PM
آخر رد: hamada salah90
  اداة عرق التقارير فيجوال 6 علي جابر 1 152 18-01-24, 01:48 PM
آخر رد: Taha Okla
Heart كيفية تغيير نوعية الــ DataBase أبو خالد الشكري 4 239 10-01-24, 10:55 PM
آخر رد: أبو خالد الشكري
  [vb6.0] تغيير نوع الخط فى عمود معين داخل الdatagrid haitham Muhammed 6 363 20-12-23, 01:11 PM
آخر رد: mhareek
  اريد طريقة تصدير بيانات الاكتف ريبورت لملف اكسل scsi7000 0 299 03-11-23, 10:41 AM
آخر رد: scsi7000
  [vb6.0] سؤال حول كيفية عمل زر كوماند داخل عمود Msflexgrid جلال اليمني 5 551 14-09-23, 05:12 AM
آخر رد: جلال اليمني
  جمع حقلين داخل rpttext فى داتا ريبورت haithamelareny 3 321 10-08-23, 11:56 PM
آخر رد: ahmedabdelaliem
  نقل بيانات الجدول الى جدول اخر بعد تجميع البيانات haithamelareny 1 357 10-08-23, 11:54 PM
آخر رد: ahmedabdelaliem

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


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