Ruby:
Hämta en webbsida

Gör så här:

Ruby erbjuder många sätt att ladda ner webbsidor, men här använder vi net/http biblioteket som är inbyggt och rakt på sak.

require 'net/http'
require 'uri'

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

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

Förväntat resultat:

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
...
</head>
...
</html>

Om du behöver hantera cookies eller andra avancerade funktioner, använd en gem som httparty eller rest-client.

Djupdykning:

I de tidiga dagarna av webben, var det vanligare att använda kommandoradsverktyg som wget eller curl för att ladda ner webbsidor. Med Ruby kan du dock göra detta inifrån programkoden, vilket ger dig mer flexibilitet.

Att välja rätt verktyg är nyckeln här. Medan net/http är bra för grundläggande användning, kan gems som Mechanize eller Nokogiri (för att parse:a HTML) vara bättre för komplex scraping.

När du laddar ner en webbsida, tänk på webbservicens policyer och rättsliga bestämmelser som GDPR. Överanvänd inte deras resurser och respektera robots.txt filen.

Se även: