【发布时间】:2011-12-16 15:10:53
【问题描述】:
代码正在运行,但我正在寻找有关如何更恰当地编写代码的提示,尤其是 if 的使用。正如你所知道的,我本质上不是程序员......只是一个系统管理员在 python 中做一些摆弄。感谢您提供的任何建议。
def findallWileyLinks():
pagebase = 'http://onlinelibrary.wiley.com'
journallist = 'http://onlinelibrary.wiley.com/browse/publications?type=journal&&start=0&resultsPerPage=3000'
inputList = getinputList()
if inputList:
alljournallistsoup = BeautifulSoup(getwebpage(journallist))
if alljournallistsoup:
alljournallisttags = alljournallistsoup.find('ol', attrs={'id' : 'publications'})
for eissn in inputList:
journalatag = alljournallisttags.find('a', attrs={'href' : re.compile(eissn.rstrip() + '$')})
if journalatag:
journalsoup = BeautifulSoup(getwebpage(pagebase + journalatag.get('href') + '/issues'))
if journalsoup:
allvolumetags = journalsoup.find('ol', attrs={'class' : 'issueVolumes'})
volumeatags = allvolumetags.findAll('a')
for volumeatag in volumeatags:
volumesoup = BeautifulSoup(getwebpage(pagebase + volumeatag.get('href')))
if volumesoup:
allissuetags = volumesoup.find('li', attrs={'id' : volumeatag.get('id')[:-5]})
issueatags = allissuetags.findAll('a')[1:]
for issueatag in issueatags:
currentlinksavailiable.append(pagebase + issueatag.get('href') + '\n')
else:
appendlog('eISSN: ' + eissn.rstrip() + ' not found on alljournallist page.')
try:
with open(inputDirectory + selectedPublisher + '_currentlinksavailiable.txt', 'w') as f:
f.writelines(currentlinksavailiable)
except IOError as e:
appendlog('findallLinks() Operation failed probably when creating the new link text file with error: %s' % e.strerror)
【问题讨论】:
标签: python if-statement beautifulsoup conditional-operator