我想自动化从UCSC基因组浏览器提取信息的过程,以节省大量的手工输入。以下代码获取了我认为正确的表单部分,但我无法提取结果:
from mechanize import Browser
from bs4 import BeautifulSoup
import requests
import re
br = Browser()
url = 'http://genome-euro.ucsc.edu/cgi-bin/hgTables?hgsid=201790284_dkwVYFu7V6ISmTzFGlXzo23aUhXk'
br.set_handle_robots( False )
for form in br.forms():
if form['position']:
print form['position']
form['position'] = 'chr9:21802635-21865969'
print form['position']
break
for form in br.forms():
if form['hgta_doTopSubmit']:
br.submit()
第一部分工作得很好,改变了要查询的基因组的位置。第二部分似乎没有提交任何内容。它返回以下错误:
回溯(最近一次呼叫): 文件“C:\Documents and Settings\Silvia\Desktop\Copy\web\U scraping\UCSC\table\browser_表单.py“,第26行,英寸 br.提交() mechanize\n20.2.7\pythoize\n20.2文件包_机械化.py“,第541行,提交 返回自我开放(自我点击(*参数,**千瓦) 文件“C:\Python27\lib\site packages\mechanize-0.2.5-py2.7.egg\mechanize_机械化.py“,第530行,单击 请求=self.form.click(*args,**kwds) AttributeError:“NoneType”对象没有“click”属性
手动网站返回一个文本屏幕,对应于关于这个位置的详细信息,但我似乎无法在这里提取它。有人对如何避开这个问题有什么建议吗?我只需要存储输出结果-相当于用户在网站上按“获取结果”。非常感谢。在
您始终可以使用^{} 发出请求:
印刷品:
^{pr2}$相关问题 更多 >
编程相关推荐