使用python请求或类似模块登录www.virtualtrader.co.uk? [英] Log in to www.virtualtrader.co.uk using python requests or similar module?

查看:256
本文介绍了使用python请求或类似模块登录www.virtualtrader.co.uk?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用python请求模块登录虚拟交易者网站 -
我在这方面的经验有限,所以请注意一些帮助。



以前,我已经使用以下代码登录到类似的网站: strong>

  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 [访问])

打印source.content


>

..我试图部署类似的代码来自动登录虚拟交易者网站,但迄今尚未成功。我的修改后的代码如下所示 - 出于安全考虑,我已经保留了每个示例中的个人信息 - 帐户可以在几分钟内打开以进行测试,否则可以将解决方案提交回此帖,我将在手测试它是否工作并报告。






尝试修改用于虚拟交易者

 导入请求

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 ')

打印page.content

这一个已经打败了我! - 我真的很感激任何帮助,试图解决这个。
我个人喜欢使用python请求库,但是如果您能够使用替代方案解决这个问题,我很乐意改变。



我很感激这是一个非常具体的问题 - 抱歉!

提前感谢

解决方案

这应该让你开始:

 从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()#也可以使用firefox或者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()

如果你想要进一步的帮助,在这里发表评论。


I'm trying to log in to the Virtual Trader website using the python requests module - I have limited experience in this area so would appreciate some help.

Previously I have used the following code to log in to a similar website:

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


.. I've attempted to deploy similar code to automate login for the Virtual Trader site, however have so far been unsuccessful. My amended code is shown below - I have withheld personal information from each of the examples for security reasons - Accounts can be opened in a matter of minutes for testing purposes, alternatively solutions can be submitted back to this post and I'll be on hand to test if it works and report back.


Attempt to modify code for use with Virtual Trader

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

This one has beaten me! - I'd really appreciate any help trying to solve this. Personally I prefer using the python requests library, however if you are able to solve this using an alternative I would be glad to change.

I appreciate this is a very specific question - sorry!
Thanks in advance

解决方案

This should get you started:

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()

If you would like further help, leave a comment here.

这篇关于使用python请求或类似模块登录www.virtualtrader.co.uk?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆