2012-10-29 63 views
0

我想下載一個affymetrix註釋文件。但它需要先登錄。用python下載affy註釋文件

登錄頁面是https://www.affymetrix.com/estore/user/login.jsp 文件我想下載的是: http://www.affymetrix.com/Auth/analysis/downloads/na32/genotyping/GenomeWideSNP_6.na32.annot.db.zip

我有嘗試一些方法,但我無法弄清楚。

 

    from requests import session 
    payload = { 
     'action': 'login', 
     'username': 'username', #This part should be changed 
     'password': 'password' #This part should be changed 
    } 

    with session() as c: 
     c.post('https://www.affymetrix.com/estore/user/login.jsp', data=payload) 
     request = c.get('http://www.affymetrix.com/Auth/analysis/downloads/na32/genotyping/GenomeWideSNP_6.na32.annot.db.zip') 
     print request.headers 
     print request.text 

我也嘗試urllib2的,

 

    import urllib, urllib2, cookielib 
    username = 'username' 
    password = 'password' 
    cj = cookielib.CookieJar() 
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
    login_data = urllib.urlencode({'username' : username, 'password' : password}) 
    opener.open('https://www.affymetrix.com/estore/user/login.jsp', login_data) 
    resp = opener.open('http://www.affymetrix.com/Auth/analysis/downloads/na32/genotyping/GenomeWideSNP_6.na32.annot.db.zip') 
    resp.read() 

+1

你必須去通過網頁源代碼,找到POST的端點(因爲它不是你用此刻的URL) - 它看起來像提交按鈕被處理的Javascript ,所以你可能有點工作...... –

回答

0

下面是信息越來越被髮布到URL。

https://www.affymetrix.com/estore/user/login.jsp?_DARGS=/estore/user/login.jsp

這裏是正在發佈的信息。

post data