从Python向网站发送请求有什么建议吗?

从Python向网站发送请求有什么建议吗?,python,html,css,urllib2,bioinformatics,Python,Html,Css,Urllib2,Bioinformatics,使用此功能,我想打开“”,请求ID为Q4PRD1和Q7LZ61的蛋白质序列对齐,然后在我的浏览器中打开网站 起初,它似乎工作良好-运行脚本将打开网站,并显示正在运行的对齐作业。然而,即使我刷新了页面,它也会一直持续下去,永远不会真正完成。如果我在浏览器中输入ID并点击“对齐”,它工作正常,大约需要8秒来对齐 我不熟悉直接从浏览器运行和从Python运行之间的区别。你们有谁知道可能会出什么问题吗 谢谢:-) ~Max我想这是用javascript编写的。如果查看按钮Align的html代码,您可以

使用此功能,我想打开“”,请求ID为Q4PRD1和Q7LZ61的蛋白质序列对齐,然后在我的浏览器中打开网站

起初,它似乎工作良好-运行脚本将打开网站,并显示正在运行的对齐作业。然而,即使我刷新了页面,它也会一直持续下去,永远不会真正完成。如果我在浏览器中输入ID并点击“对齐”,它工作正常,大约需要8秒来对齐

我不熟悉直接从浏览器运行和从Python运行之间的区别。你们有谁知道可能会出什么问题吗

谢谢:-)
~Max

我想这是用javascript编写的。如果查看按钮
Align
的html代码,您可以看到

def align_sequences(IDs):
    import webbrowser
    import urllib,urllib2
    url = 'http://www.uniprot.org/align/'
    params = {'query':IDs}
    data = urllib.urlencode(params)
    request = urllib2.Request(url, data)
    response = urllib2.urlopen(request)
    job_url = response.geturl()
    webbrowser.open(job_url)
align_sequences('Q4PRD1 Q7LZ61')
UniProt.analytics()
submitAlignForm()
一些javascript魔术。这是
js compr.js2013_11
文件中的魔法


您可以使用python查看此文件,然后在python上执行Java脚本所做的操作。

您必须单击
align
按钮。但是,您不能使用
webbrowser
执行此操作。一种选择是使用:

onclick="UniProt.analytics('AlignmentSubmissionPage', 'click', 'Submit align'); submitAlignForm();"
from selenium import webdriver

url = 'http://www.uniprot.org/align/'
ids = 'Q4PRD1 Q7LZ61'

driver = webdriver.Firefox()
driver.get(url)
q = driver.find_element_by_id('alignQuery')
q.send_keys(ids)
btn = driver.find_element_by_id("sequence-align-submit")
btn.click()