掌握HTML表单输入字段的值?

时间:2019-06-30 18:42:44

标签: python python-3.x python-requests urllib

有一个网页类似于:www.example.com/form.php

我想使用Python从页面上的HTML表单中获取值之一。例如,如果表单包含我可以获取的值“ test”,则返回

我已经在Google上进行了广泛的搜索,但大多数与发布表单数据有关,或者与使用Django或cgi-bin有关的建议。我没有直接访问服务器的权限,所以我不能这样做。

我以为REQUESTS库可以做到,但我在文档中看不到它。

HTML:

<html>
<body>
<form method="" action="formpost.php" name="form1" id="form1">
<input type="text" name"field1" value="this is field1">
<input type="hidden" name="key" value="secret key field">
</form>
</body>

作为一个例子,我想要在Python中这样的东西:

import special_library

html = special_library.get("http://www.example.com/form.php")
print html.get_field("wanted")

有人对此有何建议?还是我可能没有想到或不知道的任何图书馆?

1 个答案:

答案 0 :(得分:1)

您可以使用requests库和lxml

尝试一下:

import requests
from lxml import html

s = requests.Session()
resp = s.get("http://www.example.com/form.php")
doc = html.fromstring(resp.text)

wanted_value = doc.xpath("//input[@class='wanted_class_name']/@value")
print(wanted_value)

您可以检查以下资源: