HTTP-förfrågningars natur

Webbskrapning i R

Timo Grossenbacher

Instructor

Hypertext Transfer Protocol (HTTP)

Ett schema som visar hur webbläsare kommunicerar med servrar

1 https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview
Webbskrapning i R

Förfrågningars uppbyggnad

En förfrågan skickas till webbservern

Ett exempel på en förfrågan

Vanliga statuskoder: 200 (OK), 404 (NOT FOUND), 3xx (omdirigeringar), 5xx (serverfel)

Ett svar tas emot från webbservern

Motsvarande svar

1 https://developer.mozilla.org/en-US/docs/Web/HTTP/Overview
Webbskrapning i R

Förfrågningsmetoder: GET och POST

  • GET: Används för att hämta en resurs utan att skicka data (GET /index.html)
  • POST: Används för att skicka data till en server, t.ex. efter att ha fyllt i ett formulär på en sida
POST /test HTTP/1.1
Host: foo.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

field1=value1&field2=value2

POST-förfrågningar besvaras också med ett svar!

1 https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST
Webbskrapning i R

HTTP-förfrågningar med httr

library(httr)
GET('https://httpbin.org')
Response [https://httpbin.org/]
  Date: 2020-09-19 13:02
  Status: 200
  Content-Type: text/html; charset=utf-8
  Size: 9.59 kB
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    ...
Webbskrapning i R

HTTP-förfrågningar med httr

library(httr)
response <- GET('https://httpbin.org')
content(response)
{html_document}
<html lang="en">
[1] <head>\n<meta http-equiv="Content-Type" content="text/html; charset=UTF ...
[2] <body>\n    <a href="https://github.com/requests/httpbin" class="github ...
Webbskrapning i R

Nu kör vi en övning!

Webbskrapning i R

Preparing Video For Download...