【问题标题】:how to get first element value in a div in python [duplicate]如何在python中获取div中的第一个元素值[重复]
【发布时间】:2016-09-03 05:41:07
【问题描述】:

我知道它的基本问题,但我是 python 新手,所以我不知道如何使用 python 获取第一个元素值

这里是 Html 代码,我只想从中获取 fim span 的值,它是 main-div 中的网站:

<div class= "main-div">
  <span><a class= "web-link" href="https://www.website.com"><span>website</a></span>
  <span><a class= "web-link" href="https://www.facebook.com">facebook</a></span>
  <span><a class= "web-link" href="https://www.twitter.com">Twitter</a></span>
</div>

我正在使用这个 python 脚本,但它从 main-div 打印所有三个跨度

website = jsoup.find_all("div", {"class": "main-div"})
for element in website:
  link = jsoup.find_all("a", {"class": "web-link"})
  for tag in link:
    websitelink = tag.get("href")
    print(websitelink)

请帮助我得到我想要的结果。我只想打印网站并跳过休息。怎么可能

【问题讨论】:

  • soup.find("a", text="website")["href"] 那么顺序无关紧要。

标签: python html python-3.x beautifulsoup


【解决方案1】:
website = jsoup.find("div", {"class": "main-div"})  #find div
if website:
    link = website.find("a", href=True)   #find first link with href
    if link:
       print(link['href'])

【讨论】:

    【解决方案2】:

    你写了一个额外的&lt;span&gt; 更正代码:

    <div class= "main-div">
      <span><a class= "web-link" href="https://www.website.com">website</a></span>
      <span><a class= "web-link" href="https://www.facebook.com">facebook</a></span>
      <span><a class= "web-link" href="https://www.twitter.com">Twitter</a></span>
    </div>
    

    这里tag.get("href")返回一个列表,它存储在websitelink中。 你只需要写websitelink[0] 来获取列表中的第一个元素

    website = jsoup.find_all("div", {"class": "main-div"})
    for element in website:
      link = jsoup.find_all("a", {"class": "web-link"})
      for tag in link:
        websitelink = tag.get("href")
        print(websitelink[0])
    

    【讨论】:

    • 您的代码与 OP 的栏完全相同,websitelink[0] 将获得字符串的第一个字母,即 "h"
    猜你喜欢
    • 2022-06-14
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 2020-03-15
    • 1970-01-01
    • 2020-09-15
    相关资源
    最近更新 更多