python urllib发布问题

时间:2010-05-23 13:53:01

标签: python urllib2 mechanize urllib

我正在制作一些简单的python post脚本,但效果不好。

有两部分需要登录。

首次登录时使用的是“http://mybuddy.buddybuddy.co.kr/userinfo/UserInfo.asp”。

并且第二次登录正在使用“http://user.buddybuddy.co.kr/usercheck/UserCheckPWExec.asp

我可以登录第一个登录页面,但我无法登录第二页网站。

并返回一些错误'非法访问',例如。

我听说这与一些库克有关,但我不知道如何解决这个问题。

如果有人能帮助我多多赞赏!!谢谢!

import re,sys,os,mechanize,urllib,time
import datetime,socket


params = urllib.urlencode({'ID':'ph896011', 'PWD':'pk1089' })
rq = mechanize.Request("http://mybuddy.buddybuddy.co.kr/userinfo/UserInfo.asp", params)
rs = mechanize.urlopen(rq)
data = rs.read() 

logged_fail = r';history.back();</script>'  in data                                             
if not logged_fail:
 print 'login success'
 try:
  params = urllib.urlencode({'PASSWORD':'pk1089'})
  rq = mechanize.Request("http://user.buddybuddy.co.kr/usercheck/UserCheckPWExec.asp", params )
  rs = mechanize.urlopen(rq)
  data = rs.read()
  print data
 except:
  print 'error'

1 个答案:

答案 0 :(得分:0)

你不能使用硒?恕我直言,最好用自动化进行自动化。

安装利用:

pip install selenium

一个例子:

from selenium import webdriver
browser = webdriver.Firefox()
# open site
browser.get('http://google.com.br')
# get page source
browser.page_source

登录示例:

# different methods to get a html item
form = browser.find_element_by_tag_name('form')
username = browser.find_element_by_id('input_username')
password = browser.find_element_by_css_selector('input[type=password]')
username.send_keys('myUser')
password.send_keys('myPass')
form.submit()