以编程方式输入密码,然后按按钮

时间:2018-08-21 21:36:22

标签: javascript python html python-requests scraper

我正在一个项目中,我已经继承了一些代码,这些代码使用python的“请求”库登录到网站并抓取该网站的内容。 “登录”代码利用后端URL将POST凭证发布到端点。 (效果很好)

该网站还有另一部分,但是没有后端URL。它仅具有一种形式,在该形式中需要输入引脚号来访问数据。下面是div代码

<input class="form-control" type="password" placeholder="Enter your
PIN number" id="pin" style="width:200px; float:left; display:inline;"
onkeypress="testPinEntry(event);">

<a id="pin_verify" style="float:left; clear:none; height:34px;" class="btn- 
glow primary login" href="#" onclick="verify_pin();">Verify PIN</a>

有人知道使用请求库输入数据并按下按钮的好方法吗?我的意愿是使用xpath并从那里开始(我对编写scapers非常熟悉-https://github.com/1jkunz1/MLB-Sabermetrics-Scraper/blob/master/src/scraper.py

我真的不想使用硒来完成这项任务,因为我不希望项目依赖于硒,但是我能够找到的大多数解决方案似乎都喜欢硒。

1 个答案:

答案 0 :(得分:2)

如果您使用的是任何现代浏览器,则可以按“ F12”打开开发人员工具。从那里,您可以转到“网络”标签,以查看您的浏览请求。

在打开该选项卡的情况下,发送一个请求(您具有的图钉),并且新的POST请求应显示在网络控制台中。单击它,然后在向左打开的标签上,搜索“查看请求正文”(或在Firefox中搜索“编辑并重新发送->正文”)(或类似的名称,具体取决于您的浏览器),您将能够看到它发送给服务器的所有数据为key:value对。

您可以使用Python请求将POST请求与所需的数据(data = {key:value,...})一起发送。请记住,某些字段可能需要根据每个请求进行更改。有些网站没有唯一的有效令牌,它们通常在标签的标头中或在表单本身中作为隐藏字段。

编辑。抱歉,不是请求标头,而是您想要的是请求正文。