Das Ziel dieser Mission ist das Extrahieren der "href" über die Titel der These in einer Suchergebnisseite eines IR, und machen Sie sie als Datenrahmen. Diese Ergebnisseite ist nicht gut strukturiert: Titel des Papiers, Ausgabeinformationen, Autoren und Download-Button befinden sich im selben Feld, nur getrennt nach "span" (zwischen "title", "issue" und "authors") und " sup "(innen" Autoren ").Attribute von ähnlichen Knoten in OpenIR extrahieren
results<-"http://ir.las.ac.cn/handle/12502/8473/browse?type=dateissued"
library(rvest)
resultsource <- read_html(results)
itemLine <- html_node(resultsource, xpath ='//tr[@class="itemLine"]')
# gether labels and values of item metadata in miscTable2
titleLine <- html_nodes(itemLine, xpath ='//span/a[@href][@target]')
titlehref <- xml_attrs(titleLine, "href")
resultstxt <- html_text(titleLine, trim = TRUE)
Das Programm läuft über, ohne Fehler, aber die „titleLine“ hat viele redundance und „titlehref“ nur einen Wettbewerb haben als ‚Klasse ‚itemLine‘‘, aber überhaupt keine URLs. Meine Fragen sind:
- Wie können wir die href des Papiertitels genau lokalisieren? Ich verwende eine zweite Ebene von "html_nodes", um alle Ziel-href zu speichern. Allerdings sind die "href" s unter "sup" Label noch in der "titleLine", und das "Ziel" auch. Können wir "target" -Attribut für die Suche nach dem richtigen "href" verwenden, aber lassen Sie sie nicht in "titleLine" erscheinen?
- Wie können wir Attribute mit komplexen "Wert" finden? im Programm oben verwende ich nur "href". Ich habe versucht, "xpath style" vor aber keine Hilfe zu verwenden. Ich möchte Namensraum verwenden, um die URL der Papiere zu identifizieren, aber ich sah, dass vielleicht nur aus „xmlns“ -Attribut extrahieren ns und konnte nicht Zuordnung manuell (wie
titlehref <- xml_attrs(titleLine, "href", ns=”http://ir.las.ac.cn/handle”)
)
Wie die Struktur passen diese IR kann die richtigen Ergebnisse erhalten? Danke vielmals.
Es ist seltsam, dass die Antwort, die Sie posten, die früheste ist, aber sie erschien zuletzt. Ich habe gelernt, eines der ähnlichen Elemente in einem Knoten aus Ihrer Antwort zu finden. Danke vielmals. Aber wenn ich es modifiziere, um die URLs von Papieren zu extrahieren, enthalten die Ergebnisse ein anderes nicht verwandtes Attribut "Ziel", selbst wenn ich das Attribut als "href" zugewiesen hätte: itemu <-html_nodes (pg, xpath = ".// tr [@class = 'itemLine']/td [2]/span [1]/a [@href] ")%>% html_attrs() Wenn ich die" [@href] "in fuction" html_attrs() "verschiebe, ein Fehler tritt auf. Das bedeutet, dass die Pipe eines der Attribute nicht übertragen konnte? Vielen Dank. –