Python 如何使用BeautifulSoup访问子页面(相同的url不同的内容)?

Python 如何使用BeautifulSoup访问子页面(相同的url不同的内容)?,python,beautifulsoup,Python,Beautifulsoup,在Python上使用beautifulsou,我正在尝试刮取这个页面的一个子页面 https://www.mmorpg-stat.eu/0_fiche_alliance.php?pays=5&ftr=500208.all&univers=_146 更准确地说,子页面名为 问题是,通过单击该按钮,url不会改变(这称为子页面吗?如果不是,它是什么?),因此我无法访问该页面 url = '...' requests.get(url) 查看浏览器控制台,按钮代码为 <td width="250

在Python上使用beautifulsou,我正在尝试刮取这个页面的一个子页面

https://www.mmorpg-stat.eu/0_fiche_alliance.php?pays=5&ftr=500208.all&univers=_146

更准确地说,子页面名为

问题是,通过单击该按钮,url不会改变(这称为子页面吗?如果不是,它是什么?),因此我无法访问该页面

url = '...'
requests.get(url)
查看浏览器控制台,按钮代码为

<td width="250" align="center" valign="middle" class="Style1_f_j barre_joueur1 fond_56_1" style="cursor:pointer;text-transform: uppercase" onclick="fcache12('faCacher');fcache13('ffond_gris');document.form1_2date.statview.value='2';document.forms['form1_2date'].submit();return false;">
                 <span style="color:#ffffff;">&nbsp;&nbsp;Other information</span>
</td>

其他资料
我所能理解的是,单击按钮时,会调用一些
fcache
方法

如何访问子页面

我所能理解的是,当点击按钮时,会调用一些fcache方法

它实际上调用了两种不同的方法:
fcache12()
fcache13()
然后在页面中找到表单并提交它

document.forms['form1_2date'].submit()
如果搜索
“form1\u 2date”
,您将发现:

<form name="form1_2date" method="post">

因此,要模拟单击此按钮,您需要调用
requests.post()
,而不是
requests.get()
。您还需要确定应该传入的表单值。这些由表单中的所有
标记确定


或者,您可以使用
selenium
或类似的库来模拟浏览器中的用户交互,而不是试图直接发出请求。

您在哪里单击代码?@Wonka您的意思是什么?不,您的问题是什么意思?如何访问单击时到达的页面内容“其他信息”通过BeautifulSoup?@Sondwave查看下面我的答案以获得一些建议。我可以听到头部的“裂纹”Op@soundwave首先,
{}
表示字典,而不是列表。其次,您在字典中输入的内容基于表单中的
元素。具体来说,关键是
名称
属性,值是
声波的
值,您必须检查
并查看
de>它包含的元素。您需要包含所有这些元素。@soundwave您可以使用它们的
名称
属性来构建字典,以便发送您的POST请求。@soundwave您正确地认为
'keyf'
是关键,因为这是
名称
。但是,您需要深入挖掘查找它设置为的值。它可能是由某个JavaScript在某处设置的。另外,请注意,像have这样的两个冒号没有任何意义。字典的格式如下:
{'key1':value1,'key2':value2}
,等等。
<form name="form1_2date" method="post">