昨天kegg pathway解析不是说后面补上map号和ko号的对应关系吗,今天补上。
昨天的代码一个class,里面包含几个函数,要对应map号和ko号,只需要添加一个函数,判断map号是否有对应的ko号,有就返回ko号,没有就返回空。
添加的函数如下:
def map2ko(self, mapid):
ko = ""
url = 'https://www.genome.jp/entry/pathway+'+ mapid
response = requests.get(url, headers = self.headers)
html = response.text
soup = BeautifulSoup(html, "lxml")
table = soup.find(class_="fr3").find_all("a")
for i in table:
i = i.get_text()
if 'ko' in i:
ko = i
return ko
这就是函数化的好处,添加功能就添加一个函数。为何要给ko先赋值一个“”呢?这里就不说了。想必使用就无需在这里贴出来了。强烈建议添加提示信息,因为要爬取多个map号判断是否对应ko号,这个时间可能会比较长,有提示信息总是要好一点。
结果如下:
image
网友评论