Я недавно это прочиталстатьяо том, как скрафтить профиль участников сообщества Inbound.org с помощью Excel. И вы можете посмотретьвидеоздесь, если вам так больше нравится.
С момента выхода этого руководства структура веб-сайта Inbound немного изменилась, как вы можете видеть на 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, уникальный XPath к URL-адресу пользователя Twitter выглядит следующим образом:
/html/body/div[2]/div/div/div[1]/div/div[2]/a[1]
Что немного отличается от вашей первой попытки. Примечание: я изменил свою первую попытку, вам не нужно /i
в конце, иначе вы получите внутренний элемент, а не <a>
с URL-адресом на нем.
Но тогда ваша вторая попытка наверняка найдет правильный HTML-элемент, содержащий URL, и это будет более надежно.
Ваша третья попытка не работает с XPathOnUrl, хотя работает в Google Docs ImportXML, поскольку он не поддерживает синтаксис атрибутов.