In der Webseite gibt es eine Art Tabelle in der Webseite, die mehr als ein Element in einer Zelle haben. Ich kann den Inhalt in der Tabelle mit folgendem Code crawlen, aber ich konnte diese Elemente nicht als ihre Webseitenarchitektur binden. Haben wir einige Methoden, um diese Elemente perfekt zu kombinieren, oder sollten wir eine andere Idee verwenden, um jedes Element zu erhalten?Behalten Sie die Architektur der Tabelle mit mehreren Elementen in einer Zelle beim Crawlen in R
library(XML)
dataissued <- "http://www.irgrid.ac.cn/handle/1471x/294320/browse?type=dateissued"
ec_parsed <- htmlTreeParse(dataissued, encoding = "UTF-8", useInternalNodes = TRUE)
# gether content in table and build the dataframe
# title and introduction link of IR resource
item_title <- xpathSApply(ec_parsed, '//td[@headers="t1"]//a', xmlValue)
item_hrefs <- xpathSApply(ec_parsed, '//td[@headers="t1"]//a/@href')
# author and introduction link of IR resource
auth_name <- xpathSApply(ec_parsed, '//td[@headers="t2"]//a', xmlValue)
auth_hrefs <- xpathSApply(ec_parsed, '//td[@headers="t2"]//@href')
# publish date of IR resource
pub_date <- xpathSApply(ec_parsed, '//td[@headers="t3"]', xmlValue)
# whole content link of IR resource
con_link <- xpathSApply(ec_parsed, '//td[@headers="t3"]//a[@href]', xmlValue)
item_table <- cbind(item_title, item_hrefs, auth_name, auth_hrefs, pub_date, con_link)
colnames(item_table) <- c("t1", "href1", "t2", "href2", "t3", "t4", "href4")
Ich habe viele Male versucht, aber noch können sie nicht organisieren, wie es sein sollte, genau wie ein Papier mehrere Autoren haben kann, und alle Autoren und ihre Verbindungen sollten in einer „Reihe“, aber jetzt ein Autor speichern ist in einer Reihe, und der Titel des Papiers wird vollständig wiederverwendet. Das macht das Ergebnis durcheinander.
Ich bekomme 'con_link' leer und einen Fehler in der letzten Zeile versucht 7 Spaltennamen zu Item_Table, die 6 Spalten hat zuweisen. Könnten Sie bitte den Code reparieren? – xxfelixxx
Tut mir leid. Ich hatte erklärt, dass mein Code einige Fehler beim Kombinieren der Daten hat, die er krähte, und ich habe versucht, es zu reparieren, aber nichts funktioniert. Schätzen Sie Ihre Aufmerksamkeit darauf. –