使用python请求或类似模块登录www.virtualtrader.co.uk?
我正在尝试使用python请求模块登录网站- 我在这方面的经验有限,因此希望能得到一些帮助 之前,我使用以下代码登录到类似的网站:使用python请求或类似模块登录www.virtualtrader.co.uk?,python,debugging,urllib2,mechanize,python-requests,Python,Debugging,Urllib2,Mechanize,Python Requests,我正在尝试使用python请求模块登录网站- 我在这方面的经验有限,因此希望能得到一些帮助 之前,我使用以下代码登录到类似的网站: import requests USERNAME = 'VALID EMAIL' PASSWORD = 'VALID PASSWORD' page = { 'index':'http://www.bullbearings.co.uk/', 'login':'http://www.bullbearings.co.uk/login.php',
import requests
USERNAME = 'VALID EMAIL'
PASSWORD = 'VALID PASSWORD'
page = {
'index':'http://www.bullbearings.co.uk/',
'login':'http://www.bullbearings.co.uk/login.php',
'trade':'http://www.bullbearings.co.uk/stock.trade.php?epic=',
'portfolio':'http://www.bullbearings.co.uk/stock.portfolio.php'
}
def login(access):
with requests.Session() as c:
c.get(page['login'])
login_data = dict(email = USERNAME, password = PASSWORD, submit = 'Login', cookie = 'yes')
c.post(page['login'], data = login_data, headers = {'Referer': page['index']})
source = c.get(page[access])
print source.content
import requests
with requests.Session() as c:
url = 'http://www.virtualtrader.co.uk/member/login.aspx'
USERNAME = 'VALID USERNAME'
PASSWORD = 'VALID PASSWORD'
email = 'ctl00$MiddleContent$LoginForm$txtEmail'
password = 'ctl00$MiddleContent$LoginForm$txtPassword'
c.get(url)
login_data = dict(email = USERNAME , password = PASSWORD)
c.post(url, data = login_data, headers = {'Referer': 'http://www.virtualtrader.co.uk'})
page = c.get('http://www.virtualtrader.co.uk/member/personal.aspx')
print page.content
。。我曾尝试部署类似的代码来自动登录该站点,但迄今为止都没有成功。我修改后的代码如下所示-出于安全原因,我从每个示例中保留了个人信息-出于测试目的,可以在几分钟内打开帐户,或者可以将解决方案提交回本帖,我将亲自测试它是否有效并报告
尝试修改用于的代码
import requests
USERNAME = 'VALID EMAIL'
PASSWORD = 'VALID PASSWORD'
page = {
'index':'http://www.bullbearings.co.uk/',
'login':'http://www.bullbearings.co.uk/login.php',
'trade':'http://www.bullbearings.co.uk/stock.trade.php?epic=',
'portfolio':'http://www.bullbearings.co.uk/stock.portfolio.php'
}
def login(access):
with requests.Session() as c:
c.get(page['login'])
login_data = dict(email = USERNAME, password = PASSWORD, submit = 'Login', cookie = 'yes')
c.post(page['login'], data = login_data, headers = {'Referer': page['index']})
source = c.get(page[access])
print source.content
import requests
with requests.Session() as c:
url = 'http://www.virtualtrader.co.uk/member/login.aspx'
USERNAME = 'VALID USERNAME'
PASSWORD = 'VALID PASSWORD'
email = 'ctl00$MiddleContent$LoginForm$txtEmail'
password = 'ctl00$MiddleContent$LoginForm$txtPassword'
c.get(url)
login_data = dict(email = USERNAME , password = PASSWORD)
c.post(url, data = login_data, headers = {'Referer': 'http://www.virtualtrader.co.uk'})
page = c.get('http://www.virtualtrader.co.uk/member/personal.aspx')
print page.content
这个打败了我我真的很感激你能帮我解决这个问题。
就我个人而言,我更喜欢使用python请求库,但是如果您能够使用另一种方法解决这个问题,我很乐意进行更改
我理解这是一个非常具体的问题-对不起提前感谢这应该让您开始:
from selenium import webdriver
USERNAME = 'VALID USERNAME'
PASSWORD = 'VALID PASSWORD'
email = 'ctl00$MiddleContent$LoginForm$txtEmail'
password = 'ctl00$MiddleContent$LoginForm$txtPassword'
submit_id = 'ctl00_MiddleContent_LoginForm_cmdLogin'
driver = webdriver.Chrome() # could also use firefox, or a bunch of others listed on the homepage of selenium
driver.get('http://www.virtualtrader.co.uk/member/login.aspx')
login_field = driver.find_element_by_id(email)
password_field = driver.find_element_by_id(password)
submit_field = driver.find_element_by_id(submit_id)
login_field.send_keys(USERNAME)
password_field.send_keys(PASSWORD)
submit_field.click()
如果您需要更多帮助,请在此处留言。也许更适合此任务?您是否能够提供代码示例?几小时后,我很乐意提供。谢谢,您还需要其他信息吗?您只想登录吗?谢谢回答,脚本工作正常;但是,我打算在raspberry pi上部署最终项目,因此将无法使用selenium页面上列出的任何浏览器。有没有一种方法可以避免这种情况的发生,而不必求助于其他模块,如mechanize或requests软件包?可以尝试远程插件吗;我以前希望使用请求或机械化模块。你能就此提供建议吗?谢谢,againI建议不要使用此请求。Mechanize可能还可以,但我认为它不支持DHTML/Ajax。下面是我的Mechanize代码及其结果,如果您能够仔细查看的话——没有错误,但也没有成功;-起初,我认为这是可行的,但我注意到在返回的源代码中有一个变量表示“var IsLoggedOn=false;”而且这个页面是不可访问的