我在网页上有以下表格:
<form method="POST" action="" name=“x”>Saison (click):
<input style="border:1px dotted silver;background-color:white" name=“y” value="2011" type="submit">
<input style="border:1px dotted silver;background-color:white" name=“y” value="2012" type="submit">
<input style="border:1px dotted silver;background-color:white" name=“y” value="2013" type="submit">
<input style="border:1px dotted silver;background-color:white" name=“y” value="2014" type="submit">
<input style="border:1px dotted silver;background-color:white" name=“y” value="2015" type="submit">
<input style="border:1px dotted silver;background-color:white" name=“y” value="2016" type="submit">
<input style="border:1px dotted silver;background-color:white" name=“y” value="2017" type="submit">
<input style="border:1px dotted silver;background-color:white" name=“y” value="2018" type="submit">
</form>
我想使用BeautifulSoup并请求获取当我按下其中一个提交按钮时生成的网页。这是如何工作的?
答案 0 :(得分:0)
在“网络”标签中的开发人员工具中,您可以看到表单数据仅包含jama_saison:2013
。因此,要传递此数据,您必须使用此功能:
year = 2013
data = {'jama_saison': year}
r = requests.post('https://www.oejv.com/bundesliga/tabellestandings/', data=data)
测试我们是否得到了正确的答案:
soup = BeautifulSoup(r.text, 'lxml')
print(soup.find('th', class_='bl-name').text)
# Erste Judo-Bundesliga 2013
只需将year
变量更改为您想要的年份。将其改为2017年,将 Erste Judo-Bundesliga 2017 作为输出。