我正在尝试从网页的下拉菜单中抓取所选值。如何将抓取范围缩小到正确的水平?
我已经尝试过在select,option,option值和selected“”上使用find&find_all进行多种组合。
我想在此html代码中选择““>后获取值:
<select name="aar"><option value="2019/2020">2019/2020</option>
<option value="2018/2019" selected="">2018/2019</option><option
value="2017/2018">2017/2018</option><option
我想要2018/2019作为结果
我当前的代码:
from bs4 import BeautifulSoup
for i in range(2018,2019):
url='https://superstats.dk/program?aar={}%2F{}'.format(i,i+1)
html_doc = requests.get(url)
soup = BeautifulSoup(html_doc.content, "lxml")
aar = soup.find_all("select")
print(aar)
最佳答案
使用Css选择器通过attr selected
获取值
from bs4 import BeautifulSoup
for i in range(2018,2019):
url='https://superstats.dk/program?aar={}%2F{}'.format(i,i+1)
html_doc = requests.get(url)
soup = BeautifulSoup(html_doc.content, "lxml")
optionval = soup.select_one('option[selected]')['value']
print(optionval)
输出:
2018/2019
关于python - 从下拉菜单中刮取所选值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57046432/