Python 如何使用BeautifulSoup访问子页面(相同的url不同的内容)?
在Python上使用beautifulsou,我正在尝试刮取这个页面的一个子页面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
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;"> 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">