得到正义的形式

2024-04-23 11:58:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在吃东西的时候就把表格扔掉,但看起来表格根本不存在! 我用这个代码:

br.open("https://www.just-eat.fr/")
form = br.get_forms()

但是form没有检测到任何形式!但是当你在代码源代码中找到一个表单:

<form class="search-form autocomplete-target" action="#" id="geolocate_form_home">

我不知道怎么让它被发现!有人知道吗?你知道吗

非常感谢!你知道吗


Tags: 代码httpsbrform表单get源代码www
1条回答
网友
1楼 · 发布于 2024-04-23 11:58:15

服务器只发送带有<iframe>的页,该页包含关于出于安全原因而阻止的消息。你知道吗

User Agent头中的第一个问题。通常Python使用python-requests/2.21.0,但服务器可能需要在实际浏览器中使用User Agent。例如Linux上的Firefox

br = robobrowser.RoboBrowser(user_agent='Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0')

但它仍然可以发送带有消息的<iframe>的页面。你知道吗

但如果我再次加载相同的url,则它将加载正确的页面。
可能现在它已经有了所有需要的cookies,而现在服务器没有问题了。你知道吗

如果需要,还可以从<iframe>加载页面,使其表现得像真人一样。你知道吗

import robobrowser

br = robobrowser.RoboBrowser(user_agent='Mozilla/5.0 (X11; Linux i586; rv:31.0) Gecko/20100101 Firefox/31.0')
br.parser = 'lxml'

br.open("https://www.just-eat.fr")
#print(br.parsed)
print(br.get_forms())

#iframe_src = br.select('iframe')[0]['src']
#print(iframe_src)

#br.open("https://www.just-eat.fr"+iframe_src)
#print(br.parsed)

br.open("https://www.just-eat.fr")
#print(br.parsed)
print(br.get_forms())

相关问题 更多 >