การดาวน์โหลดหน้าเว็บ

Ruby:
การดาวน์โหลดหน้าเว็บ

วิธีการ:

Ruby ทำให้การดาวน์โหลดเว็บเพจเป็นเรื่องง่ายด้วยไลบรารีเช่น net/http และ gems เช่น open-uri นี่คือวิธีการทำโดยใช้ net/http:

require 'net/http'
require 'uri'

url = URI.parse('http://example.com') 
response = Net::HTTP.get_response(url)

puts response.body if response.is_a?(Net::HTTPSuccess)

คุณจะได้รับเนื้อหา HTML ของ http://example.com ที่พิมพ์ออกมา

การใช้ open-uri นั้นง่ายขึ้นอีก:

require 'open-uri'

downloaded_page = URI.open('http://example.com').read
puts downloaded_page

อีกครั้ง, เนื้อหาของเว็บเพจจะถูกแสดงบนเทอมินัลของคุณ

การศึกษาอย่างลึกซึ้ง

ในช่วงวันแรกๆ ของเว็บ, การดาวน์โหลดหน้าเว็บลำบากกว่านี้ โดยต้องทำการสร้างคำขอ HTTP ด้วยตนเอง ปัจจุบัน, Ruby ลดความซับซ้อนของเรื่องนี้ลงมาก

ตัวเลือกอื่นที่ไม่ใช่ net/http และ open-uri รวมถึง gems ที่ระดับสูงกว่า เช่น HTTParty และ RestClient พวกเขาเสนอคุณสมบัติเพิ่มเติมและวิธีการเชิงวัตถุ สำหรับการดึงข้อมูลเว็บอย่างหนัก, หลายคนในวงการ Ruby หันไปใช้ Nokogiri เพื่อวิเคราะห์ HTML หรือ Mechanize ซึ่งทำงานเหมือนเบราว์เซอร์เว็บ

เมื่อมาถึงการทำงาน, ควรจำไว้ว่า open-uri เป็นห่อหุ้มสำหรับ net/http, ดังนั้นมันจึงสะดวกมาก แต่อาจขาดการควบคุมระดับต่ำบ้าง net/http ให้ความควบคุมเพิ่มเติมแต่อาจมีคำศัพท์มากเกินไปสำหรับงานง่ายๆ

ดูเพิ่มเติม

สำหรับการอ่านเพิ่มเติมและทรัพยากรเพิ่มเติม ตรวจสอบที่: