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
Google Treffer zählen
Re: Google Treffer zählen
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
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Google Treffer zählen
Der Code von 2014 scheitert auch schon an einem aktuellen SSL-Zertifikat.
Fehlermeldung:
Consuli
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")
Code: Alles auswählen
Error in function (type, msg, asError = TRUE) : SSL certificate problem: unable to get local issuer certificate
Irmgard.
Re: Google Treffer zählen
Stimmt, wenn man einfach google.de eingibt, erscheint das als https://
Unreife Ideen:
Bernhard
Unreife Ideen:
- Ich weiß nicht, ob man die Google Custom Search API nur für eine begrenzte Zahl von URLs oder auch für das ganze Weg nutzen kann: JSON-API hier: https://developers.google.com/custom-se ... 1/overview
- PHP oder Service nutzen? http://scraping.compunect.com/?scrape-google-search
- Muss es google sein? http://www.contextualwebsearch.com/ wirbt mit einer freien API, ist aber nicht Google.
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Google Treffer zählen
Habs jetzt etwas besser hinbekommen. Aber das auslesen der zweiten Trefferseite funktioniert immer noch nicht.
Consuli
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))
Irmgard.