المشورة اللازمة:الشاشة تجريف صفحة ويب باستخدام .صافي

StackOverflow https://stackoverflow.com/questions/1003141

  •  05-07-2019
  •  | 
  •  

سؤال

أريد نصيحة بخصوص مشروع أنا على وشك أن تبدأ.

في كلمات قليلة ، طلب أن يذهب إلى معين لكرة القدم على الانترنت ، تحميل HTML واستخراج البيانات اللازمة.

هذا هو ما قمت به حتى الآن:

:: 1) انتقل إلى معين لكرة القدم على الانترنت (ex. http://www.livescore.com/default.dll?page=england) و تحميل HTML باستخدام WebClient.

:: 2) باستخدام SgmlReader تحويل HTML إلى XML

:: 3) باستخدام XmlDocument استرداد البيانات أنا أبحث عن.هذا وعادة ما ينطوي على:

::::::: 3.1) استرجاع العقد باستخدام GetElementsByTagName() (ex.GetElementsByTagName("tr"))

::::::: 3.2) حلقات من خلال قائمة العقد عاد قبل GetElementsByTagName (طريقة)

هل هناك طريقة أفضل لفعل ما كنت تحاول أن تفعل ؟

كنت أفكر في LINQ to XML.هل تعتقد أن هذا سوف تحسين الأداء ؟

أي اقتراحات أو تعليقات سيكون موضع تقدير كبير!

هل كانت مفيدة؟

المحلول

مجرد استخدام HTML Agility Pack! http://www.codeplex.com/htmlagilitypack

وبهذه الطريقة يمكنك الاستعلام الوثيقة باستخدام XPath للحصول على العقد التي تحتاج إليها.يمكنك حتى استخدام فايرفوكس البرنامج المساعد الحرائق لمساعدتك على بناء XPath querys

نصائح أخرى

استخدام خدمة مثل هؤلاء الرجال الذين لديهم أكثر كل ما فعلت بالنسبة لك.يمكنك أيضا استخدام خدمة مجانية مثل رشيقة.أعتقد يمكنك تصدير البيانات في تنسيقات مختلفة على الرغم من أنني لا أعرف إذا كنت تستطيع الاستيلاء على البيانات في الوقت الحقيقي ، قد يكون هناك تأخير.

إذا كنت لا تريد أن البرنامج كل شيء في المنزل باستخدام 3rd الطرف الحل يمكن أن توفر لك الوقت والمال.

بمجرد تحويل بيانات XML ، يمكنك استخدام XSLT لتحويله إلى مجموعة أبسط من XML و واحد الذي هو أكثر ملاءمة لهذا الغرض.من هناك يمكنك استخدام LINQ to XML للحصول على البيانات التي تحتاجها من XML.فائدة هذا النهج هو أنه فصل الموقع من جمع البيانات بحيث عند إدخال تغييرات على موقع الويب شكلها يمكنك ببساطة تغيير XSLT إلى المباراة ولا شيء آخر يجب أن يكون لمست.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top