我已经写下了一段代码,以从html文件中提取一些文本。此代码从网页中提取所需的行,现在我要提取序列数据。不幸的是,我无法提取文本,它显示出一些错误。从html文件中提取文本python
import urllib2
from HTMLParser import HTMLParser
import nltk
from bs4 import BeautifulSoup
# Proxy information were removed
# from these two lines
proxyOpener = urllib2.build_opener(proxyHandler)
urllib2.install_opener(proxyOpener)
response = urllib2.urlopen('http://tuberculist.epfl.ch/quicksearch.php?gene+name=Rv0470c')
################## BS Block ################################
soup = BeautifulSoup(response)
text = soup.get_text()
print text
##########################################################
html = response.readline()
for l in html:
if "|Rv0470c|" in l:
print l # code is running successfully till here
raw = nltk.clean_html(html)
print raw
如何成功运行此代码?我已经检查了所有可用的线程和解决方案,但没有任何工作。
我想提取这一部分:
M. tuberculosis H37Rv|Rv0470c|pcaA
MSVQLTPHFGNVQAHYDLSDDFFRLFLDPTQTYSCAYFERDDMTLQEAQIAKIDLALGKLNLEPGMTLLDIGCGWGATMRRAIEKYDVNVVGLTLSENQAGHVQKMFDQMDTPRSRRVLLEGWEKFDEPVDRIVSIGAFEHFGHQRYHHFFEVTHRTLPADGKMLLHTIVRPTFKEGREKGLTLTHELVHFTKFILAEIFPGGWLPSIPTVHEYAEKVGFRVTAVQSLQLHYARTLDMWATALEANKDQAIAIQSQTVYDRYMKYLTGCAKLFRQGYTDVDQFTLEK
什么是错误? – mvelay
这是错误“NotImplementedError:要删除HTML标记,请使用BeautifulSoup的get_text()函数” 然后我尝试使用BeutifulSoup,但其返回的文本作为数百万单个字符,而不是正确的文本 – jax
请[编辑]您的问题,并告诉我们你对BS的使用。 – 2016-03-07 09:11:57