Mik*_*der 3 python urllib urllib2 button python-2.7
我在单击此按钮时遇到问题,该按钮看起来像这样的HTML代码:
<form method="post">
<br>
<input type="hidden" value="6" name="deletetree">
<input type="submit" value="Delete Tree" name="pushed">
</form>
Run Code Online (Sandbox Code Playgroud)
并且需要生成的URL如下所示:http: //mysite.com/management.php?Category = 2&id_user = 19 &deteletree = 6&push = Delete +Tree
更新:我试过这个,但它不起作用:
form_data = urllib.urlencode({'Category' : '2', 'suid' : '19', 'deletetree' : '6', 'pushed' : 'Delete+Tree' })
urllib2.urlopen("management.php", form_data)
Run Code Online (Sandbox Code Playgroud)
这是我登录的方式:
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.29 Safari/525.13')]
username = "user"
password = "pass"
USER_ID = '6'
loginonsite = login("http://mysite.com/myprofile.php",
"login_username=%s&login_password=%s&suid=%s".format(username, password, USER_ID)
Run Code Online (Sandbox Code Playgroud)
)
您可以使用请求发帖.
import requests
data = {'Category' : '2', 'suid' : '19', 'deletetree' : '6', 'pushed' : 'Delete+Tree' }
response = requests.post('http://mysite.com/management.php', data=data)
print response.text
Run Code Online (Sandbox Code Playgroud)
随着越来越多的网页内容在JavaScript中生成,我发现自己使用Selenium的webdriver直接驱动像Chrome这样的真实浏览器,而我现在正在进行这种自动化......
更新:听起来你需要先登录
现在,请求也可以通过cookie.所以你要发送登录请求就可以了
login_data = data={'username': 'user', 'password': 'pass'
post_data = {
'Category' : '2', 'suid' : '19', 'deletetree' : '6', 'pushed' : 'Delete+Tree'
}
login_response = requests.get('http://mysite.com/myprofile.php', data=login_data)
form_response = requests.post(
'http://mysite.com/management.php',
data=post_data,
cookies=login_response.cookies
)
Run Code Online (Sandbox Code Playgroud)
因此,您进行登录,然后在下一个请求中使用响应中的cookie.应该管用.但显然我无法针对您的具体情况测试该代码.
| 归档时间: |
|
| 查看次数: |
13203 次 |
| 最近记录: |