【发布时间】:2021-06-26 20:53:15
【问题描述】:
我正在尝试使用 selenium/python 抓取 Instagram 帖子的点赞数。 如何使用 xpath 定位点赞数并将其保存到变量中?
这是显示喜欢计数的部分:
<section class="EDfFK ygqzn">
<div class=" Igw0E IwRSH eGOV_ ybXk5 vwCYk ">
<div class=" Igw0E _56XdI eGOV_ _4EzTm ItkAi ">
<a class="zV_Nj" href="/p/asd123asd123asd123ads123asd123asd123/liked_by/" tabindex="0">
<div class=" Igw0E rBNOH hLiUi ybXk5 _4EzTm ">
<div style="height: 20px; width: 20px; order: 0;" class="KcRNL mOBkM ">
<span class="_2dbep " role="link" style="width: 20px; height: 20px;" tabindex="-1">
<img alt="testguys Profilbild" class="_6q-tv" crossorigin="anonymous" data-testid="user-avatar" draggable="false" src="https://scontent-vie1-1.cdninstagram.com/v/t99.9999-99/s150x150/9999999_9999999_9999999_n.jpg?tp=1&_nc_ht=scontent-vie1-1.cdninstagram.com&_nc_ohc=123asd123asd123asd123asd&ccb=7-4&oh=123asd123asd123asd123asd&oe=608D16CE&_nc_sid=asd123"</span>
</div>
</div>
</a>
</div>
<div class="Nm9Fw">Gefällt
<span class="Jv7Aj mArmR MqpiF ">
<a class="FPmhX notranslate cqXBL" title="testguy" href="/testguy/" tabindex="0">testguy</a>
</span>
und
<a class="zV_Nj" href="/p/qwertzuiopasdfghjklyxcvbn/liked_by/" tabindex="0">
<span>63</span>
weitere Personen
</a>
</div>
</div>
</section>
在这种情况下,点赞数应为“63”。 我试图在开发工具中从 Firefox 中复制 Xpath 并利用它:
post_like_count = driver.find_element_by_xpath(f"/html/body/div[5]/div[2]/div/article/div[3]/section[2]/div/div[2]/a/span")
但由于“.NoSuchElementException”,这不起作用。 我必须在上面的 xpath 中添加一个变量吗?
非常感谢您!
【问题讨论】:
-
我认为
//a[@class='zV_Nj'/span会这样做。 -
post_like_count = driver.find_element_by_xpath("//a[@class='zV_Nj'/span")不是根据 selenium 的合法表达。 -
试试
post_like_count = driver.find_element_by_xpath("//a[@class='zV_Nj']/span")-- 我添加了缺少的右括号。 -
您是否正在尝试获取特定用户的帖子的“喜欢”计数?具体的帖子?
-
错误:无法定位元素://a[@class='zV_Nj']/span
标签: python html selenium xpath