XPath Data Scraping จากชุมชนออนไลน์โดยใช้ Excel


0

ฉันเพิ่งอ่านสิ่งนี้ บทความ เกี่ยวกับวิธีการขูดโปรไฟล์สมาชิกชุมชน Inbound.org โดยใช้ Excel และคุณสามารถรับชม วีดีโอ ถ้าคุณชอบที่นี่

ตั้งแต่การเปิดตัวบทช่วยสอนนี้โครงสร้างเว็บไซต์ขาเข้าได้เปลี่ยนไปเล็กน้อยเนื่องจากคุณสามารถดูวิดีโอได้ในเวลา 11:00 น. หากคุณพยายามคัดลอก XPath ของไอคอนโซเชียลมีเดียมันแตกต่างเล็กน้อย ไม่สามารถดึงข้อมูลนั้นได้

นี่คือสิ่งที่ฉันได้รับตอนนี้:

/html/body/div[3]/div/div/div[1]/div/div[2]/a[1]/i

นี่คือวิธีที่ฉันเขียนไวยากรณ์ใน Excel:

=XPathOnUrl(A2,"//a[@class='twitter']","href")

แล้วเช่นนี้

=XPathOnUrl(A2,"//a[contains(@class,twitter)]/@href")

แม้ว่าฉันจะลองหลายวิธี แต่ก็ไม่มีใครแสดงให้ฉันเห็นถึงลิงค์ไปยังโปรไฟล์สื่อสังคมออนไลน์ของสมาชิก

ฉันได้ลองเปลี่ยน xpath ในหลายวิธีเพื่อให้ได้ข้อมูลที่แตกต่างจากหน้าเว็บ แต่ไม่มีข้อมูลทางสังคมออนไลน์

=XPathOnUrl(A2,"//*[contains(@class,member-banner-tagline)]/div[2]/div/div/div[1]/div/div[1]")

=XPathOnUrl(A2,"//*[contains(@class,member-banner-tagline)]/div[2]/div/div/div[1]/div/h1")

ฉันไม่รู้จะลองอะไรอีกแล้วมีอะไรผิดปกติและฉันไม่สามารถเข้าใจ ใครมีประสบการณ์เพียงพอกับสิ่งนี้หรือสามารถระบุปัญหาได้ที่นี่ด้วยไวยากรณ์

ขอบคุณมาก

คำตอบ:


0

ตาม Firefox / Firebug, XPath ที่ไม่ซ้ำกันกับผู้ใช้ URL ที่ Twitter คือ

/html/body/div[2]/div/div/div[1]/div/div[2]/a[1]

ซึ่งแตกต่างจากความพยายามครั้งแรกของคุณเล็กน้อย หมายเหตุ: ฉันได้แก้ไขความพยายามครั้งแรกของคุณคุณไม่ต้องการ /i ในตอนท้ายหรือคุณจะได้รับองค์ประกอบภายในไม่ใช่ <a> กับ url มัน

แต่จากนั้นความพยายามครั้งที่สองของคุณจะค้นหาองค์ประกอบ HTML ที่ถูกต้องซึ่งมี URL และมีความแข็งแกร่งกว่า

ความพยายามครั้งที่ 3 ของคุณไม่สามารถทำงานกับ XPathOnUrl ได้แม้ว่ามันจะทำงานใน Google Docs ImportXML เพราะมันไม่รองรับไวยากรณ์ของแอตทริบิวต์


คุณพูดถูกฉันคัดลอก xpath ขององค์ประกอบย่อยขอบคุณที่ชี้ให้เห็น ฉันลองสูตรนี้ใน Google ชีต: = IMPORTXML (A3, "// * [ประกอบด้วย (@ class, twitter)] / div [2] / div / div / div [1] / div / div [2] / a 1] / @ href ") และใช้งานได้ แต่เมื่อฉันลองใช้ Excel โดยใช้ XPathOnUrl แทนหรือ IMPORTXML จะไม่แสดงผลลัพธ์ใด ๆ
Duraid

ส่วน @href ไม่รองรับโดย XPathOnUrl ซึ่งเป็นสาเหตุที่ไม่สามารถใช้งานได้ คุณควรจะเลือกองค์ประกอบและใช้พารามิเตอร์สุดท้ายเพื่อรับคุณลักษณะเท่าที่ฉันเห็นจากเอกสาร
Julian Knight
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.