简体   繁体   English

从beautifulsoup4的下拉列表中选择值

[英]select value from drop-down list in beautifulsoup4

I am trying to navigate this drop-down list in BeautifulSoup4 and cannot find a BS4 fuction to insert "selected" in the right place. 我试图在BeautifulSoup4中浏览此下拉列表,但找不到在正确的位置插入“ selected”的BS4功能。 The list looks like this: 该列表如下所示:

 <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>

I have been trying to insert "selected" into 我一直在尝试将“选定”插入

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

Using this python code: 使用以下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)

But this produces the result: 但这会产生结果:

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

I really don't know much about HTML so i'm having a hard time finding where to look for a solution, any advice would be greatly appreciated. 我真的对HTML不太了解,所以我很难找到在哪里寻找解决方案,任何建议将不胜感激。

In BeautifulSoup4, attributes are stored similarly to a dictionary. 在BeautifulSoup4中,属性的存储方式类似于字典。 To modify the selected attribute of the <option> , use sport['selected'] = '' . 要修改<option>selected属性,请使用sport['selected'] = ''

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM