![Excel을 사용하여 온라인 커뮤니티에서 XPath 데이터 스크래핑](https://rvso.com/image/1449105/Excel%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%98%A8%EB%9D%BC%EC%9D%B8%20%EC%BB%A4%EB%AE%A4%EB%8B%88%ED%8B%B0%EC%97%90%EC%84%9C%20XPath%20%EB%8D%B0%EC%9D%B4%ED%84%B0%20%EC%8A%A4%ED%81%AC%EB%9E%98%ED%95%91.png)
나는 최근에 이것을 읽었습니다.기사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에서는 작동하지 않습니다.