论提交一个基本表单

论提交一个基本表单

说明

操作语言:python
处理系统:windows10

表单

大多数网页表单都是由一些HTML 字段、一个提交按钮、一个在表单处理完之后跳转的“执行结果”(表单属性action 的值)页面构成。虽然这些HTML 字段通常由文字内容构成,但是也可以实现文件上传或其他非文字内容。

举例

这是一个最简单的表单
此表单的源代码如下:


<h2>Tell me your name!</h2>
<form method="post" action="processing.php">
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname"><br>
<input type="submit" value="Submit" id="submit">
</form>

说明
表单的真实行为其实发生在processing.php(绝对路径是http://pythonscraping.com/files/processing.php)。表单的任何POST 请求其实都发生在这个页面上,并非表单本身所在的页面。
注意:

Request库

用Requests 库提交表单只用四行代码就可以实现,包括导入库文件和打印内容的语句,对呀你没有看出,python就是这么神奇!!!
01 代码

# coding=utf-8
"""
@author: jiajiknag
程序功能: 提交表单
"""
import requests
params = {'firstname': 'jia', 'lastname': 'jikang'}
r= requests.post("http://pythonscraping.com/files/processing.php", data=params)
print(r.text)

02 结果

这里写图片描述
重点说明
此程序可以用来处理许多网站的简单表单,比如O’Reilly Media 新闻订阅页面的表单源代码如下所示:

<form action="http://post.oreilly.com/client/o/oreilly/forms/
quicksignup.cgi" id="example_form2" method="POST">
<input name="client_token" type="hidden" value="oreilly" />
<input name="subscribe" type="hidden" value="optin" />
<input name="success_url" type="hidden" value="http://oreilly.com/store/
newsletter-thankyou.html" />
<input name="error_url" type="hidden" value="http://oreilly.com/store/
newsletter-signup-error.html" />
<input name="topic_or_dod" type="hidden" value="1" />
<input name="source" type="hidden" value="orm-home-t1-dotd" />
<fieldset>
<input class="email_address long" maxlength="200" name=
"email_addr" size="25" type="text" value=
"Enter your email here" />
<button alt="Join" class="skinny" name="submit" onclick=
"return addClickTracking('orm','ebook','rightrail','dod'
);" value="submit">Join</button>
</fieldset>
</form>

1:我们想提交数据的字段名称(代码中的email_addr)
2:表单的action 属性,也就是表单提交后网站会显示的页面(
这个例子中是:http://post.oreilly.com/client/o/oreilly/forms/quicksignup.cgi)把对应的信息增加到请求信息中,运行代码即可。
3:代码

# coding=utf-8
"""
@author: jiajiknag
程序功能: 提交表单
"""
import requests
params = {'email_addr': '[email protected]'}
r = requests.post("http://post.oreilly.com/client/o/oreilly/forms/quicksignup.cgi", data=params)
print(r.text)

4:结果
这里写图片描述

猜你喜欢

转载自blog.csdn.net/jiajikang_jjk/article/details/80534476