Python:使用urllib或urllib2单击按钮 [英] Python: Clicking a button with urllib or urllib2

查看:254
本文介绍了Python:使用urllib或urllib2单击按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用python单击一个按钮,该表格的信息会由网页自动填充.用于向按钮发送请求的HTML代码是:

I want to click a button with python, the info for the form is automatically filled by the webpage. the HTML code for sending a request to the button is:

INPUT type="submit" value="Place a Bid">

我将如何去做? 是否可以仅使用urllib或urllib2单击按钮?还是我需要使用机械化或斜纹呢?

How would I go about doing this? Is it possible to click the button with just urllib or urllib2? Or will I need to use something like mechanize or twill?

推荐答案

使用表单目标并将任何输入作为发布数据发送,如下所示:

Use the form target and send any input as post data like this:

<form target="http://mysite.com/blah.php" method="GET">
    ......
    ......
    ......
    <input type="text" name="in1" value="abc">
    <INPUT type="submit" value="Place a Bid">
</form>

Python:

# parse the page HTML with the form to get the form target and any input names and values... (except for a submit and reset button)
# You can use XML.dom.minidom or htmlparser
# form_target gets parsed into "http://mysite.com/blah.php"
# input1_name gets parsed into "in1"
# input1_value gets parsed into "abc"

form_url = form_target + "?" + input1_name + "=" + input1_value
# form_url value is "http://mysite.com/blah.php?in1=abc"

# Then open the new URL which is the same as clicking the submit button
s = urllib2.urlopen(form_url)

您可以使用 HTMLParser

别忘了用以下代码对任何帖子数据进行urlencode:

And don't forget to urlencode any post data with:

urllib.urlencode(query)

这篇关于Python:使用urllib或urllib2单击按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆