使用python3.0及更高版本在文本框中输入字符串并从网站获取结果
该站点的HTML如下所示使用python3.0及更高版本在文本框中输入字符串并从网站获取结果,python,python-3.x,http-post,Python,Python 3.x,Http Post,该站点的HTML如下所示 <html> <head> <title>FAS-ESS web server</title> </head> <body> <body bgcolor="#00336677" link="#FFFF00" vlink="#00FFFF" alink="#00FF00" text="#FFFFFF"> <h1><center>FAS-ESS web server
<html>
<head>
<title>FAS-ESS web server</title>
</head>
<body>
<body bgcolor="#00336677" link="#FFFF00" vlink="#00FFFF" alink="#00FF00" text="#FFFFFF">
<h1><center>FAS-ESS web server</center></h1>
<p><center>(provided by the <a href="http://genes.mit.edu/burgelab/">Burge Lab</a>) </center></p>
<form action="http://genes.mit.edu/cgi-bin/fas-ess.pl" method="post">
<input type="radio" name="set" value="FAS-hex2" checked>FAS-hex2
(<a href="fas-hex2.txt">set</a>)<br />
<input type="radio" name="set" value="FAS-hex3">FAS-hex3
(<a href="fas-hex3.txt">set</a>)
<p>Sequence(s):<br />
<textarea name="sequence" rows="12" cols="72"></textarea><br />
<input type="reset" value="Clear">
<input type="submit" value="Submit">
</p>
</form>
<p>Notes:</p>
<ul>
<li>You can enter a single sequence or multiple sequences in FASTA format.</li>
<li>Non-letters will be removed from sequences.</li>
<li>Lowercase letters will be converted to uppercase.</li>
<li>T and U are considered the same.</li>
</ul>
<p>Reference:<br />
Wang, Z., Rolish, M. E., Yeo, G., Tung, V., Mawson, M. and
Burge, C. B. (2004). Systematic identification and analysis of exonic
splicing silencers. <i>Cell</i> <b>119</b>, 831-845.</p>
<p>Please send feedback to Mike Rolish (merolish at mit dot edu).</p>
<p><a href="http://genes.mit.edu/burgelab/">Burge Lab home</a></p>
</body>
</html>
完整解释:
我试图做的是将给定的字符串输入网站,提交它,然后抓取结果页面。我曾经尝试过用python 3.0之前的版本和urllib2翻译另一个线程,但我得到的唯一回报是原始的html网站
谢谢你看
我想请您尝试一下这个网站:有了这个疑问 “>NM_000015
ATGGACATTTGAAGATTTGAATTTGAATTTGAATTTGAATTTGAATTTGAATCTGAATTTGAATCTGAATCTGAATACTGAATCTGAATCTGACTGATCAGATGACTGAATGATTGATTGATTGATTGAATAGATGAATCTGAATCTGAATCTGAATGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGACTGATCAGATGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGACTGAGGAATTATCATGTCGATGCTGGGTCGTGAGCTCTCGCAGATGCGCGCGCGCGCGCGCGCGCTCAGGCGCGCTCAGGCGCGCTTGACAGCAGAGAGAGATGCGCTGTGGACCAATCAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGATGCATTCTCTCTCTCAGAGACAGAGAGATTCTCTCAGACAGAGACAGAGAGATATATTCTCTCTCTCAGAGAGAGAGATATTCAGAGAGATTCAGACAGAGAGAGATATTCTCTCAGAGACAGAGAGAGATTCAGATATTCTCTCTCAGAGAGATATATATATTCTCTCTCTCTCTCAGAGAGAGAGAGAGAGAGATATATATATATATATATTCTCTCTCAGATATATATATTTTGGTGGGCTTCATCCTCACCATAGAATTCAATTAAAGACATACATACATACATACACATACATCGTCGAGTTAAACTCTCACTGAGGAAGAGTTGAGAGAGATAGATAGATAGATTCTCTCCCAACCATAGATAGATATATTATTTAGTTAGTTAGTTAG“您必须像Jon Clements解释的那样更改发送请求,并将
设置添加到您的表格数据中:
site = "http://genes.mit.edu/cgi-bin/fas-ess.pl"
def getinfo(info):
form_data = {'sequence':info, 'set':'FAS-hex2'}
您应该向表单的端点发送请求。。。例如:http://genes.mit.edu/cgi-bin/fas-ess.pl
尝试将站点
变量更改为该变量,然后查看您得到了什么。我得到了一个错误“urllib.error.HTTPError:HTTP error 500:Internal Server error”@JonClements您在我必须将其发送到的站点上,但在提交时,我的数据中缺少一些参数。我的表单数据行变成了“表单数据={'set':'FAS-hex3','sequence':info,'submit':'submit'}”,它工作了!谢谢你的帮助@埃里克·托马斯。。看你自己已经拿到了!我花了一些时间来研究你的问题,所以没有阅读你对JonClements的评论。这很酷,我继续做了标记,因为它可能对将来的问题有用。当时确实没有一个明确的指南。
site = "http://genes.mit.edu/cgi-bin/fas-ess.pl"
def getinfo(info):
form_data = {'sequence':info, 'set':'FAS-hex2'}