从beautifulsoup4的下拉列表中选择值

2024-06-08 19:35:48 发布

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

我试图在BeautifulSoup4中导航此下拉列表,但找不到BS4函数来在正确的位置插入“selected”。列表如下:

 <select name="sport" id="sport" onchange="mask('Processing'); changeSports(this.value);">
  <option value="">Select Sport</option>
    <option value="MBA" >Baseball</option>
    <option value="MBB" >Men&#x27;s Basketball</option>
    <option value="MFB" >Football</option>
    <option value="MIH" >Men&#x27;s Ice Hockey</option>
    <option value="MLA" >Men&#x27;s Lacrosse</option>
    <option value="MSO" >Men&#x27;s Soccer</option>
    <option value="MTE" >Men&#x27;s Tennis</option>
    <option value="MVB" >Men&#x27;s Volleyball</option>
    <option value="WBB" >Women&#x27;s Basketball</option>
    <option value="WBW" >Women&#x27;s Bowling</option>
    <option value="WFH" >Field Hockey</option>
    <option value="WIH" >Women&#x27;s Ice Hockey</option>
    <option value="WLA" >Women&#x27;s Lacrosse</option>
    <option value="WSB" selected>Softball</option>
    <option value="WSO" >Women&#x27;s Soccer</option>
    <option value="WSV" >Women&#x27;s Beach Volleyball</option>
    <option value="WTE" >Women&#x27;s Tennis</option>
    <option value="WVB" >Women&#x27;s Volleyball</option>
</select>

我一直在尝试将“选定”插入

^{pr2}$

使用以下python代码:

from bs4 import BeautifulSoup,NavigableString
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
url = 'http://stats.ncaa.org/rankings/ranking_summary'
page = requests.get(url,headers=headers)
soup = BeautifulSoup(page.content, "html.parser")
sport = soup.find(value="WSB")
sport.insert(0,"selected")
print(sport)

但结果是:

<option value="WSB">selectedSoftball</option>

我真的不太了解HTML,所以我很难找到解决方案,任何建议都将不胜感激。在


Tags: 列表valueselectheadersoptionselectedicewsb