当前位置: 首页 > 知识库问答 >
问题:

刮除包含::的网页之前

汝彭薄
2023-03-14

我的问题是当使用bs4刮超文本标记语言不能刮包含像::before

我想知道该公司在一个页面中为哪些可持续发展目标做出了贡献。https://www.unglobalcompact.org/participation/report/cop/create-and-submit/active/395091但是复选标记在源代码中是不可见的。

我应该怎么做或者我可以用什么从网站上刮掉它?

共有1个答案

阙星渊
2023-03-14

这里根本不需要::bef或e::部分。选择的和未选择的元素有不同的类-选择的有selected_question,未选择的advanced_question

您可以使用以下方法对其进行分析:

from bs4 import BeautifulSoup
import requests


url = "https://www.unglobalcompact.org/participation/report/cop/create-and-submit/active/395091"
response = requests.get(url)

soup = BeautifulSoup(response.content, "lxml")

questions = soup.select("ul.questionnaire > li.question_group")
for question in questions:
    question_text = question.get_text(strip=True)
    print(question_text)

    answers = question.find_next_siblings("li")
    for answer in answers:
        answer_text = answer.get_text(strip=True)
        is_selected = "selected_question" in answer.get("class", [])

        print(answer_text, is_selected)
    print("-----")

将打印:

Which of the following Sustainable Development Goals (SDGs) do the activities described in your COP address? [Select all that apply]
SDG 1: End poverty in all its forms everywhere False
SDG 2: End hunger, achieve food security and improved nutrition and promote sustainable agriculture False
SDG 3: Ensure healthy lives and promote well-being for all at all ages True
SDG 4: Ensure inclusive and equitable quality education and promote lifelong learning opportunities for all False
...

请注意为所选答案打印的True

我还注意到,如果选择html.parser作为解析器,则此代码不能正常工作。

 类似资料:
  • 问题内容: 我觉得这是一个简单的概念,但是在包含和排除方面遇到了麻烦:尤其是在随机数生成器方面。 例如,如果我想要一个2-8的值(包括2和8),那将是包含性的,对吗? 那代码看起来如何?像这样:nextInt(8-2)+ 2; ? 问题答案: 例如,如果我想要一个2-8的值(包括2和8),那将是包含性的,对吗? 是的 。包括在内;独占排除。 范围包括7个唯一值(2,3,4,5,6,7,8); 和

  • 我试图刮此页上Flipkart: http://www.flipkart.com/moto-x-play/p/itmeajtqp9sfxgsk?pid=MOBEAJTQRH4CCRYM 我试图找到的div类"fk-ui-ccarousel超级容器相同的vreco部分reco-carousel-边界-顶部sameHorizontalReco",但它返回空结果。 divs是空的。我使用inspect元

  • 我需要从下面的链接刮表。 我使用selenium编写了一个脚本,可以单击下一个页面,但每个页面中的表似乎没有标记。相反,它似乎只包含标记。我发现很难在这个网站上找到桌子。任何帮助都是非常贴切的。 编辑%1 提前道谢。

  • 最近我一直在用Python和靓汤学习网页刮刮乐。然而,当我试图刮下下面的页面时,我遇到了一点麻烦: http://www.librarything.com/work/3203347 我想从页面上得到的数据是这本书的标签,但我找不到任何方法来获取数据,尽管我花了很多时间在网上拖网。 我试着在网上看了几本指南,但似乎没有一本奏效。我尝试将页面转换为XML和JSON,但仍然找不到数据。 我现在有点手足无

  • 你好,我想使用python 3.x和BeautifulSoup从一个带有年龄验证弹出式窗口的网站上刮取数据。如果不点击“是”来表示“你是否超过21岁”,我就无法获得底层的文本和图像。谢谢你的支持。 编辑:谢谢,通过一些注释的帮助,我看到我可以使用cookie,但不确定如何管理/存储/调用请求包中的cookie。 编辑4:取得了一些进展,更新的代码如下。我设法在XML代码中找到了元素,现在我只需要设