【问题标题】:how to find parent li in BeautifulSoup如何在 BeautifulSoup 中找到父 li
【发布时间】:2021-06-28 22:25:31
【问题描述】:

在 BeautifulSoup 中,我想在元素中找到 li 的第二个值 这是我的代码

university_rank_s = "#StudyOrganisationLocation .OrganisationRanking"
university_rank_st = page.select(university_rank_s)[0].text.strip() if page.select(university_rank_s) else 'N/A'
university_rank = get_no_from_str(university_rank_st)

【问题讨论】:

  • 函数get_no_from_str有什么作用?
  • 欢迎来到 SO。请edit您的代码向我们展示您尝试过的内容并提供Minimal, Reproducible Example
  • 请写出get_no_from_str是做什么的

标签: python beautifulsoup


【解决方案1】:

我不知道函数 get_no_from_str 究竟做了什么,但我想它会返回一些东西,但我认为这会解决你的问题

根据您的代码:

university_rank_s = "#StudyOrganisationLocation .OrganisationRanking"
university_rank_st = [x.text.strip() for x in page.select(university_rank_s)[0::2]] if page.select(university_rank_s) else 'N/A'
university_rank = get_no_from_str(university_rank_st)

这将获得父元素数据的第 2 个子元素

【讨论】:

  • def get_no_from_str(x): result = "N/A" s = re.search(r"[0-9]{1,5}([,.][0-9]{ 1,2})?", x) if s: result = s.group() 返回结果
  • 我试过这段代码,但会得到所有的 li vlaues
【解决方案2】:

当你选择元素时,写recursive= False 它将选择所有父元素

【讨论】:

    猜你喜欢
    • 2017-11-22
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-25
    • 2018-12-08
    • 1970-01-01
    相关资源
    最近更新 更多