xmlRoot ไม่ส่งคืนองค์ประกอบที่ถูกต้องเมื่อแยกวิเคราะห์เอกสาร html โดยใช้แพ็คเกจ XML ใน R

ฉันต้องการแยกวิเคราะห์ html เพื่อดึงส่วนเฉพาะออกมาโดยใช้ xpathSApply แต่การเรียก xmlRoot ส่งคืนองค์ประกอบที่มีชื่อเป็นข้อความของเอกสารทั้งหมด:

> url <- "http://www.achaea.com/game/who"
> doc <- htmlParse(url)
> top <- xmlRoot(doc)
> xmlName(top)

ซึ่งแสดงเอกสาร HTML ทั้งหมดสำหรับ 'ชื่อ' แทนที่จะเป็นชื่อองค์ประกอบรูท ใครช่วยบอกฉันหน่อยได้ไหมว่าอะไรคือสาเหตุของพฤติกรรมนี้ ฉันต้องการที่จะดึงชื่อบุคคลใน hrefs 'เกียรตินิยม' ออกมาได้


person gregbowman    schedule 13.04.2014    source แหล่งที่มา
comment
ขอบคุณ Randy คุณพูดถูก ฉันออกจาก RStudio แล้วเริ่มสำรองข้อมูลและรับผลลัพธ์ของคุณ ดูเหมือนว่าฉันมีปฏิสัมพันธ์บางอย่างกับโค้ดที่ดำเนินการก่อนหน้านี้ ฉันควรใช้ rm บน doc เพื่อให้กระดานชนวนสะอาด วิธีนี้ช่วยแก้ไขปัญหาของฉัน   -  person gregbowman    schedule 13.04.2014
comment
ฉันคิดว่าฉันเข้าใจคำถามของคุณผิดและลบความคิดเห็นออก...อย่างไรก็ตาม ดูว่าคำตอบของฉันให้สิ่งที่คุณต้องการหรือไม่   -  person Randy Lai    schedule 13.04.2014
comment
โปรดพิจารณาลบคำถามออกเนื่องจากไม่ใช่ปัญหา   -  person hrbrmstr    schedule 13.04.2014


คำตอบ (1)


พยายาม

xpathSApply(top, "//div[@id='content']//a", xmlValue)

หากคุณต้องการลิงค์

xpathSApply(top, "//div[@id='content']//a", xmlAttrs, "href")
person Randy Lai    schedule 13.04.2014