擅长:python、mysql、java
<p>这很简单,只需添加一个<code>+</code>并在列表中调用<code>item.text</code></p>
<p>而不是:</p>
<pre><code>values = [item.get('value') for item in items]
</code></pre>
<p>使用:</p>
<pre><code>values = [item.get('value') + item.get_text(strip=True) for item in items[1:]]
print(values)
</code></pre>
<hr/>
<p><strong>编辑</strong>:数据是动态加载的,因此<code>requests</code>不支持它。但网站上提供了JSON格式的数据<em>。您可以使用<code>re</code>模块使用正则表达式提取它:</p>
<pre><code>import json
import re
import requests
url = "https://store.alsabihmarine.com/index.php/diving-equipments/wetsuits/camouflage-hooded-suits-220.html"
response = requests.get(url).content
regex_pattern = re.compile(r"Product\.Config\(({.*?})\);")
data = json.loads(regex_pattern.search(str(response)).group(1))
print(
[
product["id"] + product["label"]
for product in data["attributes"]["138"]["options"]
]
)
</code></pre>
<p>输出:</p>
<pre><code>['17M (in stock) ', '18L (out of stock) ', '15XL (in stock) ', '52XXL (in stock) ']
</code></pre>