Excel을 사용하여 온라인 커뮤니티에서 XPath 데이터 스크래핑

Excel을 사용하여 온라인 커뮤니티에서 XPath 데이터 스크래핑

나는 최근에 이것을 읽었습니다.기사Excel을 사용하여 Inbound.org 커뮤니티 회원 프로필을 스크랩하는 방법에 대해 알아보세요. 그리고 당신은 볼 수 있습니다동영상그렇게 하고 싶다면 여기로 가세요.

이 튜토리얼이 출시된 이후 인바운드 웹 사이트 구조가 약간 변경되었습니다. 비디오의 11분 부분에서 볼 수 있듯이 소셜 미디어 아이콘의 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")

솔직히 더 이상 무엇을 시도해야 할지 모르겠습니다. 뭔가 잘못되어 이해할 수 없습니다. 누구든지 이것에 대해 충분한 경험이 있거나 내 구문으로 여기서 문제를 정확히 지적할 수 있습니까?

정말 감사합니다

답변1

Firefox/Firebug에 따르면 사용자 트위터 URL에 대한 고유 XPath는 다음과 같습니다.

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

첫 번째 시도와는 약간 다릅니다. NB: 첫 번째 시도를 수정했습니다. /i끝에 있는 것을 원하지 않거나 <a>URL이 포함된 내부 요소를 얻지 못합니다.

그러나 두 번째 시도에서는 확실히 URL이 포함된 올바른 HTML 요소를 찾았으며 더욱 강력해졌습니다.

세 번째 시도는 속성 구문을 지원하지 않기 때문에 Google Docs ImportXML에서는 작동하지만 XPathOnUrl에서는 작동하지 않습니다.

관련 정보