def getdoi(self,num=0): '''Get DOI from Baidu Cite''' soup=BeautifulSoup(self.getcite(num,citetype='txt'),"html.parser") if (soup.doi): doi=soup.doi.text elif(soup.primarytitle): cr=CRrecord() cr.getfromtitle(soup.primarytitle.info.text,ignorecheminfo=True) doi=cr.doi else: doi=DOI("") return DOI(doi[doi.find('10.'):])
def grepBingAcadPDFbyID(self,bid,maxpage=1,printyn=True): '''Grep at most maxpage pages pdf for given bing id Save to doi style based on refering to crossref.''' if (printyn): print "### ### ### ### ### ### ### ### ### " print "## Finding for "+bid+"...." cr=CRrecord() ref=self.bidref(bid) if (printyn): print ref if (os.path.exists(bid+".pdf")): print "Exist file:"+bid+".pdf" return if ref['title']: if (cr.getfromtitle(title=ref['title'],year=ref['year'],volume=ref['volume'], pages=ref['pages'],issue=ref['issue'],fullparse=False) and cr.doi): # try to find by title, if found (true): if (printyn): print cr outname=quotefileDOI(cr.doi)+".pdf" if (not os.path.exists(outname)): if (self.getbidpdf(bid,filename=outname,printyn=printyn)): print "Have Found PDF file: "+outname else: print "Exist file:"+outname else: if (self.getbidpdf(bid,filename=bid+".pdf",printyn=printyn)): print "Have Found PDF file: "+bid+".pdf" else: if (self.getbidpdf(bid,filename=bid+".pdf",printyn=printyn)): print "Have Found PDF file: "+bid+".pdf"