Google Treffer zählen

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

Antworten
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Google Treffer zählen

Beitrag von consuli »

Hallo!

Ich möchte die Anzahl Treffer der Google Suchanfrage "lokales Unwetter" mit jeweiliger Zeitbeschränkung auf die Jahre 2010 bis 2017 zählen.

Früher hatte ich mir schon mal ein kleines iMacros Script gebastelt. Das neue Firefox Quantum Browser unterstützt die alten Add-Ons jedoch nicht mehr. Außerdem zeigt Google die Anzahl der Treffer jetzt auch nicht mehr oben auf der Ergebnisseite an.

Wie gehe ich nun am dümmsten vor, um die Treffer zu zählen?

Consuli
Irmgard.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Google Treffer zählen

Beitrag von bigben »

Du hast bestimmt schon gesehen, dass das ohne die Einschränkung auf das Zeitfenster 2014 mal so funktioniert hat: https://www.r-bloggers.com/get-no-of-go ... r-and-xml/
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Google Treffer zählen

Beitrag von consuli »

Der Code von 2014 scheitert auch schon an einem aktuellen SSL-Zertifikat.

Code: Alles auswählen

# install.packages("XML")
# install.packages("RCurl")

library("XML")
library("RCurl")


googlehits <- function(input)   {
  url <- paste("https://www.google.com/search?q=\"", input, "\"", sep = "")
  CAINFO = paste(system.file(package="RCurl"), "/CurlSSL/ca-bundle.crt", sep = "")
  script <- getURL(url, followlocation = TRUE, cainfo = CAINFO)
  doc <- htmlParse(script)
  res <- xpathSApply(doc, '//*/div[@id="resultStats"]', xmlValue)
  cat(paste("\nYour Search URL:\n", url, "\n", sep = ""))
  cat("\nNo. of Hits:\n")
  return(as.integer(gsub("[^0-9]", "", res)))
  }

googlehits("R%Statistical%Software")
Fehlermeldung:

Code: Alles auswählen

Error in function (type, msg, asError = TRUE)  : SSL certificate problem: unable to get local issuer certificate 
Consuli
Irmgard.
bigben
Beiträge: 2771
Registriert: Mi Okt 12, 2016 9:09 am

Re: Google Treffer zählen

Beitrag von bigben »

Stimmt, wenn man einfach google.de eingibt, erscheint das als https://
Unreife Ideen: LG,
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
consuli
Beiträge: 479
Registriert: Mo Okt 10, 2016 8:18 pm

Re: Google Treffer zählen

Beitrag von consuli »

Habs jetzt etwas besser hinbekommen. Aber das auslesen der zweiten Trefferseite funktioniert immer noch nicht.

Code: Alles auswählen

# install.packages("rvest") 

library(rvest)

# 1. Seite
ht1= c("")
ht1 <- read_html('https://www.google.de/search?num=100&cr=countryDE&client=firefox-b&biw=1365&bih=763&tbs=cdr%3A1%2Ccd_min%3A1%2F1%2F2015%2Ccd_max%3A12%2F31%2F2015%2Cctr%3AcountryDE&tbm=nws&ei=QDcdW43KM4T00wL977L4Dw&q=Starkregen+%C3%9Cberschwemmungen')
links1 <- ht %>% html_nodes(xpath='//h3/a') %>% html_attr('href')
gsub('/url\\?q=','',sapply(strsplit(links[as.vector(grep('url',links1))],split='&'),'[',1))


Sys.sleep(5)

# 2. Seite (klappt nicht, gibt die Links von 1. Seite)
ht2= c("")
ht2 <- read_html('https://www.google.de/search?q=Starkregen+%C3%9Cberschwemmungen&num=100&cr=countryDE&client=firefox-b&tbs=cdr:1,cd_min:1/1/2015,cd_max:12/31/2015,ctr:countryDE&tbm=nws&ei=BDgdW7uUHMuu0gL9_afIDQ&start=100&sa=N&biw=1365&bih=763&dpr=1')
links2 <- ht %>% html_nodes(xpath='//h3/a') %>% html_attr('href')
gsub('/url\\?q=','',sapply(strsplit(links[as.vector(grep('url',links2))],split='&'),'[',1))

Consuli
Irmgard.
Antworten