擅长:python、mysql、java
<p>还可以执行以下操作:</p>
<pre class="lang-py prettyprint-override"><code>import bs4
import requests
style_data = []
url = "https://gis.vgsi.com/portsmouthnh/Parcel.aspx?pid=38919"
soup = bs4.BeautifulSoup(requests.get(url).content, 'html.parser')
# select the first `td` tag whose text contains the substring `Style:`.
row = soup.select_one('td:-soup-contains("Style:")')
if row:
# if that row was found get its sibling which should be that vlue you want
home_style_tag = row.next_sibling
style_data.append(home_style_tag.text)
</code></pre>
<p>几张便条</p>
<ul>
<li>这使用CSS选择器而不是find方法。有关更多详细信息,请参见<a href="https://facelessuser.github.io/soupsieve/selectors/combinators/" rel="nofollow noreferrer">SoupSieve docs</a></李>
<li><code>select_one</code>依赖于这样一个事实,即表总是以某种方式排序,如果不是这样,则使用<code>select</code>并遍历结果以找到其文本正好是<code>'Style:'</code>的<code>bs4.Tag</code>,然后获取其下一个同级</li>
</ul>
<p>使用<code>select</code>:</p>
<pre class="lang-py prettyprint-override"><code>rows = soup.select('td:-soup-contains("Style:")')
row = [r for r in rows if r.text == 'Style:']
home_style_text = row.text
</code></pre>