通过Python登录顽固的网页

时间:2017-05-01 02:19:51

标签: python

我对这类事情不太熟悉,但我似乎无法通过Python登录此网页:https://ravenpack.com/discovery/login/

我已尝试过其他StackOverflow帖子的解决方案,但似乎没有任何效果。它可能是不可能的,或者我只是不知道我在做什么 - 可能是可能的

我试过了:

import requests

LOGIN_URL = 'https://ravenpack.com/discovery/login/'
DATA_URL = 'https://ravenpack.com/discovery/news_analytics_story/FFF4BFD4F4D4FF803852899BD1F02077/'

payload = {
    'username': 'uname',
    'password': 'pword'
}

with requests.Session() as s:
    s.post(LOGIN_URL, data=payload)
    r = s.get(DATA_URL)
    print r.text

这样:

from twill.commands import *
go('https://ravenpack.com/discovery/login/')



fv("2", "username", "uname")
fv("2", "password", "pword")

submit('1')

这样:

import mechanize

br = mechanize.Browser()
br.set_handle_robots(False)
br.open("https://ravenpack.com/discovery/login/")      #Url that contains signin form
br.select_form()
br['username'] = "uname"    #see what is the name of txt input in form
br['password'] = 'pword'
result = br.submit().read()
f=file('s.html', 'w')
f.write(result)
f.close()

和此:

from robobrowser import RoboBrowser
browser = RoboBrowser(history=True,user_agent='Mozilla/5.0')
login_url = 'https://ravenpack.com/discovery/login/'
browser.open(login_url)
form = browser.get_form(id='login_form')
form['username'].value = 'uname' 
form['password'].value = 'pword'
browser.submit_form(form)

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

import requests

LOGIN_URL = 'https://ravenpack.com/discovery/login/'
DATA_URL = 'https://ravenpack.com/discovery/news_analytics_story/FFF4BFD4F4D4FF803852899BD1F02077/'

username = 'user'
password = 'password'

with requests.Session() as s:
    s.post(LOGIN_URL, auth=HTTPBasicAuth(username, password))
    r = s.get(DATA_URL)
    print r.text
相关问题