擅长:python、mysql、java
<p>要获取所有以<code>/game/</code>开头的<code>href</code>,只需将找到的节点<code>href</code>值附加到列表中:</p>
<pre><code>>>> result1 = []
>>> for a in soup.find_all('a', href=True):
if a['href'].startswith('/game/'):
result1.append(a['href'])
>>> print(result1)
['/game/index/4599712?org id=418']
</code></pre>
<p>至于第二个,您可以使用regex,但是在<code>a</code>的下一个同级的纯文本上:</p>
<pre><code>>>> import re
>>> result2 = {}
>>> for a in soup.find_all('a', href=True):
if a['href'].startswith('/team/'):
m = re.search(r"\((\d+-\d+)\)", a.next_sibling.string)
if m:
result2[a.string] = m.group(1)
else:
result2[a.string] = ""
>>> print(result2)
{'Philadelphia': '3-1'}
</code></pre>
<p><code>\((\d+-\d+)\)</code>将提取括号内的数字+<code>-</code>+数字。如果不存在此值,则会将键值与找到的键一起添加,但会添加一个空值。你知道吗</p>