2015-01-09 4 views
0

기계화로 웹 사이트에 로그인하려고합니다. weibsite는 형식이 아닙니다. 누군가 나를 도울 수 있을까요? 문제가 무엇입니까?파이썬 : 기계화는 어떤 형식도 찾지 못합니다.

import mechanize 

browser = mechanize.Browser() 
browser.open("http://website.com/login.php") 

print "forms-start" 
for form in browser.forms(): 
    print form 
print "forms-end" 

Outut :

forms-start 
forms-end 

웹 사이트 : 당신에게

파이썬 코드 감사 유효하지 않은 HTML을 처리 은어 FAQ 기계화에 따르면

<body> 
<div align="center"> 
    <div class="msg"></div><br/> 
    <form method="POST" action="" autocomplete="off"> 
     <p><span><b>Username*:</b></span>&nbsp;<input type="text" name="username" placeholder="your account name" value="" style="width:18em" /></p> 
     <p><span><b>Password*:</b></span>&nbsp;<input type="password" name="password" placeholder="your account password" value="" style="width:18.0em" /></p> 
        <p><span><b>Remember*:</b></span>&nbsp;<input type="checkbox" name="remember" value="1" checked/></p> 
     <input type="hidden" name="login" value="1" /> 
     <input type="submit" class="frmbtn" value="Login" /> 
    </form> 
</div> 
</body> 
+0

설명 : 기계화 가져 오기 브라우저 browser = 브라우저() 응답 = browser.open ("http://website.com/login.php") 인쇄 응답 코드 say? –

+0

__Output__ : 200 – user2534685

+0

그래, 웹 사이트에 응답이 있습니다. .code를 .read()와 교환하면 기계화 된 결과물을 얻어야합니다. –

답변

1

같은

: "BR /" 당신은 임의로 당신은 (그리고 헤더) HTML을 처리 할 수 ​​

import mechanize 

browser = mechanize.Browser(factory=mechanize.RobustFactory()) 
browser.open("http://example.com/") 
print browser.forms 

대안 BeautifullSoup 파서를 사용할 수 있습니다 귀하의 website

에 같은 코드를 가지고 :

browser = mechanize.Browser() 
browser.open("http://example.com/") 
html = browser.response().get_data().replace("<br/>", "<br />") 
response = mechanize.make_response(
    html, [("Content-Type", "text/html")], 
"http://example.com/", 200, "OK") 
browser.set_response(response) 

FAQ에서

+0

대단히 감사합니다! 작동 가능합니다. – user2534685

+0

기꺼이 도와 드리겠습니다. –