اذهب إلى المحتوى
  • 0

كيف أحصل على جميع روابط URL من صفحة ويب معيّنة بلغة روبي؟

salimi

السؤال

لنقل بأنّ هناك صفحة HTML على الإنترنت بحيث:

<div class="heat">
   <a href='http://example.org/site/1/'>site 1</a>
   <a href='http://example.org/site/2/'>site 2</a>
   <a href='http://example.org/site/3/'>site 3</a>
</div>

وأريد استخدام لغة روبي للحصول على الرّوابط بحيث يكون المُخرج مصفوفة كالتّالي:

l = ['http://example.org/site/1/', 'http://example.org/site/2/', 'http://example.org/site/3/']

فكيف يُمكنني أن أقوم بذلك؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يُمكنك القيام بالأمر بالاستعانة بمكتبة nokogiri على روبي، وذلك كالآتي:

require 'nokogiri'
doc = Nokogiri::HTML.parse(<<-HTML_END)
<div class="heat">
   <a href='http://example.org/site/1/'>site 1</a>
   <a href='http://example.org/site/2/'>site 2</a>
   <a href='http://example.org/site/3/'>site 3</a>
</div>
HTML_END

l = doc.css('div.heat a').map { |link| link['href'] }

قُمنا بوضع الـHTML بين وسمي  HTML_END ثّم قمنا بالحصول على وسوم a داخل الـHTML والتّي تحتوي على الروابط، ثمّ وصلنا إلى الروابط من href وأسندناها إلى المُتغيّر l.

المُخرج:

["http://example.org/site/1/", "http://example.org/site/2/", "http://example.org/site/3/"]
رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...