如何从pythonrequests/Beautiful Soup中的特定文本参数获取特定的HTML行

2024-09-29 17:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试刮一个有鞋的网站。每种鞋码都有一个独特的“变型”身份证。我需要根据我想要的鞋码来决定如何获得这个身份证。网站的HTML示例如下:

    <label for="variant_id_104685">43</label>

在这个例子中,鞋子的尺寸是“43”,我需要得到一个变种_id_104685段,而不预先知道它。换句话说,输入将要求大小为43,而输出将返回变量id

我该怎么做呢?在


Tags: id示例for网站尺寸htmllabel例子
1条回答
网友
1楼 · 发布于 2024-09-29 17:18:52

您可以通过文本获取label元素,然后提取for属性值:

size = "43"
soup.find(attrs={"for": True}, text=size)["for"]

演示:

^{pr2}$

注意,这里的{"for": True}有助于只考虑定义了for属性的label元素。通常可以使用一个更简洁的方法来请求属性是否存在,使用关键字参数如soup.find(attribute_name=True),但在本例中,for是一个保留关键字,使用类似于soup.find(text=size, for=True)["for"]的内容将导致语法错误。在

相关问题 更多 >

    热门问题