我正在尝试使用机械化来查看和收集各种网站的数据。我遇到了错误状态
No handlers could be found for logger "mechanize"
此错误未提供错误发生位置的特定位置,这使得调试非常困难。我已经在线查看并看到机械化版本0.1.11已经解决了这个问题。我已经下载了更新版本的机械设备,并想象这应该不再是一个问题。导致此问题的代码是
def KEGG(textfile):
KEGGString = ''
KEGGList = []
original = open('Final.txt', 'r')
for row in original:
data = re.split("(#|\t)", row) ##splits text files by tabs into separate strings
new_items = [x if x!='\t' else 'None' for x in data] ##replaces extra tabs with "None"
KEGGList.append(new_items[-1])
KEGGHeaderless = KEGGList[1:] ## Removes header (Cross-Reference (KEGG)) from the list.
KEGGHeaderless = [s.replace(';', '') for s in KEGGHeaderless]
fo = open('KEGG Description.txt', 'w')
for row in KEGGHeaderless:
geneID = row
base2 = 'http://www.genome.jp/dbget-bin/www_bget?'
url = base2 + geneID
br = Browser()
br.set_handle_robots(False)
br.open(url)
for line in KEGGHeaderless:
targetURL = '/dbget-bin/get_linkdb?-t+pathway+' + row
try:
site = br.follow_link(url=targetURL)
br.open(site)
page = br.response().read()
fo.write(page)
except:
fo.write(line + "None\n")
fo.close()
有关如何解决此问题的任何建议?
答案 0 :(得分:0)
mechanize
使用logging
模块。
如果您的脚本没有提供日志记录处理程序,那么从mechanize
内部记录调用可能会导致此错误。
要提供通用处理程序,请尝试添加
import logging
logging.basicConfig(level=logging.DEBUG)
到您的脚本。这将显示级别DEBUG
或更高级别的所有日志消息。
如果您只想显示严重错误,可以将其更改为
logging.basicConfig(level=logging.CRITICAL)
或者,如果要禁用日志记录,可以使用
logging.disable(logging.DEBUG)
有关其他选项和日志记录级别,请参阅the docs。