Aller au contenu

Utilisateur:Kiply/Brouillon2

Une page de Wikipédia, l'encyclopédie libre.

rm(list=ls())

  1. Packages
  2. # -----------------------------------------------------------------------

library("rvest") library("plyr") library("ggplot2") library(rvest) library(stringr) library(plyr) library(dplyr) library(ggvis) library(knitr) library(xml2) library(tidyr) library(curl) library(lubridate) options(encoding = "UTF-8") options(timeout= 4000000) URL = "https://eu-football.info/_players.php?id=47&data=8" TAB = NA

print(Sys.getlocale(category = "LC_CTYPE")) original_ctype <- Sys.getlocale(category = "LC_CTYPE")

    1. Switch to the appropriate local for the script

Sys.setlocale("LC_CTYPE","croatian")

for (i in 1:7) {

 web_content <- read_html(curl(paste0(URL, "&page=", as.character(i)), handle = new_handle("useragent" = "Mozilla/5.0")))
 n= length(web_content %>% html_nodes("table.t21.b3"))
 tab = web_content %>% html_nodes("table.t21.b3") %>% .1 %>% html_table(header=TRUE)
 z = paste0("https://eu-football.info/", (web_content %>% html_nodes("table.t21.b3") %>% html_nodes("a") %>% html_attrs()))
 tab = tab[-which(substr(tab$`Name of footballer`, 1, 6) %in% c("Pages:", "(adsby")),]
 tab$Profile = substr(z[1:length(tab[,1])], 41, nchar(z))
 TAB = rbind(TAB,tab)

} TAB = TAB[-1,] TAB[is.na(TAB[, "Goals"]) | TAB[,"Goals"] =="","Goals"] =0 TAB[is.na(TAB[, "Died"]) | TAB[,"Died"] =="","Died"] =NA


w= as.data.frame(str_split(TAB[,"Period"], "\\-", simplify=TRUE)) names(w) = c("Begin", "End") w$Begin= as.numeric(as.character(w$Begin)) w$End = as.numeric(as.character(w$End))

TAB$Caps = as.numeric(as.character(TAB$Caps)) TAB$Begin = w$Begin TAB$End = w$End TAB$Rank = 1:length(TAB[,1])

TAB = TAB[c("Name of footballer", "Born",

                                 "Died", "Begin", "End", "Caps", "Goals", "Profile")]

varf = c("Nom","Date de naissance", "Date de décès", "1re sélection", "Dernière sélection", "Sélections", "Buts", "Lien") names(TAB) = varf


TAB$Nom = paste0("", TAB$Nom, " (en)", "[1]")

TAB$`Date de naissance2` = as.Date(TAB[,"Date de naissance"], format = "%d.%m.%Y") TAB$`Date de naissance2`[is.na(TAB$`Date de naissance2`)] = TAB$`Date de naissance`[is.na(TAB$`Date de naissance`)] TAB$`Date de naissance`[!(is.na(TAB$`Date de naissance2`))] = paste0("Date invalide (", day(TAB$`Date de naissance2`[!(is.na(TAB$`Date de naissance2`))]), ")") TAB$`Date de naissance`[(is.na(TAB$`Date de naissance2`)) & !(is.na(TAB$`Date de naissance`))] = paste0("[[", TAB$`Date de naissance`[(is.na(TAB$`Date de naissance2`)) & !(is.na(TAB$`Date de naissance`))]," en football|", TAB$`Date de naissance`[(is.na(TAB$`Date de naissance2`)) & !(is.na(TAB$`Date de naissance`))], "]]") TAB$`Date de naissance2` =NULL TAB$`Date de décès2` = as.Date(TAB[,"Date de décès"], format = "%d.%m.%Y") TAB$`Date de décès2`[is.na(TAB$`Date de décès2`)] = TAB$`Date de décès`[is.na(TAB$`Date de décès`)] TAB$`Date de décès`[!(is.na(TAB$`Date de décès2`))] = paste0("Date invalide (", day(TAB$`Date de décès2`[!(is.na(TAB$`Date de décès2`))]), ")") TAB$`Date de décès`[(is.na(TAB$`Date de décès2`)) & !(is.na(TAB$`Date de décès`))] = paste0("[[", TAB$`Date de décès`[(is.na(TAB$`Date de décès2`)) & !(is.na(TAB$`Date de décès`))]," en football|", TAB$`Date de décès`[(is.na(TAB$`Date de décès2`)) & !(is.na(TAB$`Date de décès`))], "]]") TAB$`Date de décès2` =NULL

  1. TAB = TAB[order(TAB$`Dernière sélection`), ]
  2. TAB = TAB[order(TAB$`1re sélection`), ]
  3. TAB$`1re sélection` = paste0("", TAB$`1re sélection`, "")
  4. TAB$`Dernière sélection` = paste0("", TAB$`Dernière sélection`, "")

TAB$Lien =NULL

Encoding(TAB$Nom) = "UTF-8" Encoding(TAB$Nom[18])


TAB2= rbind(colnames(TAB), TAB) TAB2$`Date de déces`[is.na(TAB2$`Date de déces`)] = "" TAB2$index = as.character(TAB2[,1]) TAB2$index[2:length(TAB2$index)] = 1:(length(TAB2$index)-1) TAB2 = as.data.frame(rbind(TAB2, TAB2)) TAB2 = TAB2[order(as.numeric(as.character(TAB2$index))),] indices = 2*1:max(length(TAB[,1])) TAB2[,"index"] = as.character(TAB2[,"index"]) TAB2[,1] = as.character(TAB2[,1]) TAB2[indices,1] = paste0("| ",TAB2[indices,1]) TAB2$index = NULL

dg = unite(TAB2, newCol, sep="||") dg[c(indices-1, max(indices+1)) , 1] = "|-" dg = rbind(dg[(length(dg[,1])-1):length(dg[,1]),1], dg) dg = dg[-length(dg[,1])] dg[1,] = paste0("|", dg[length(dg[,1]),]) dg[length(dg[,1]),] = " |}" dg[1,] = gsub("\\|", "!", dg[1,]) dg = rbind("{| class=\"wikitable sortable\" ", dg)

write.table(dg, "fichierwiki2.txt", row.names=FALSE,col.names=FALSE, quote=FALSE, fileEncoding="UTF-8")

  1. # ----------------------------------------------------------------------
    1. ...and don't forget to switch back

Sys.setlocale("LC_CTYPE", original_ctype)