In [43]:
import re
import scrapy
from scrapy.http import TextResponse
import requests
import json
#regex modified from http://stackoverflow.com/questions/27910/finding-a-doi-in-a-document-or-page
#Alix Axel's regex, with modifications http://stackoverflow.com/users/89771/alix-axel
#found on stackoverflow
doi_re = re.compile(r'\b(10[.][0-9]{3,}(?:[.][0-9]+)*/(?:(?!["&\'()])\S)+)')
target = 'http://www.cardiff.ac.uk/chemistry/research/publications/2014-publications'
r = requests.get(target)
response=TextResponse(r.url,body=r.text, encoding='utf-8')

#all_dois = doi_re.findall(response.xpath('string(.)').extract()[0])
all_dois = doi_re.findall(r.text)
all_dois = list(set(all_dois)) #uniqify
print all_dois
api_stub = 'http://api.crossref.org/works/'
reqs = [api_stub+d for d in all_dois]
for req in reqs:
    fails = 0
    #print(req)
    r = requests.get(req)
    resp=TextResponse(r.url,body=r.text, encoding='utf-8')
    try:
        jsonresponse = json.loads(resp.body_as_unicode())
        t=jsonresponse["message"]['title']
    except:
        fails+=1
print(str(fails) + ' failed dois from ' + str(len(reqs)) + ' requests')
print('failure rate: ' + str(float(fails)/len(reqs)))


[u'10.1039/C4MD00265B</a>', u'10.1007/s11030-013-9498-y</a>', u'10.1016/B978-0-08-097742-3.00735-7</a>', u'10.1039/c4cy00027g', u'10.1039/C4OB01916D', u'10.1016/j.apsusc.2014.06.088</a>', u'10.1021/bi500238q', u'10.1021/ol502201d</a>', u'10.1021/sc400492x</a>', u'10.1021/bi500508z', u'10.1021/ic403097s', u'10.1002/chem.201303736', u'10.1021/ja5066366', u'10.1002/cbic.201402103</a>', u'10.1039/c3dt50874a</a>', u'10.1021/om500847j', u'10.1021/ic403011h', u'10.1039/c3dt52972j', u'10.1016/j.jinorgbio.2014.02.015</a>', u'10.1039/C4OB01788A</a>', u'10.1039/C4CS00042K</a>', u'10.1063/1.4889780</a>', u'10.1021/op500195e', u'10.1002/cssc.201300834', u'10.1007/s11243-013-9789-2</a>', u'10.1002/chem.201303355', u'10.1016/j.jorganchem.2013.08.031</a>', u'10.1002/anie.201404266', u'10.1039/c4gc00087k</a>', u'10.1016/j.tet.2014.03.078</a>', u'10.1002/ejic.201402248</a>', u'10.1002/chem.201303736</a>', u'10.1039/c3dt50874a', u'10.1039/C4CY01213E', u'10.1039/c4cy00184b</a>', u'10.1055/s-0033-1340835', u'10.1002/chem.201303355</a>', u'10.1021/om500847j</a>', u'10.1016/j.electacta.2013.08.169', u'10.1039/C4DT02203C', u'10.1002/asia.201301582', u'10.1021/ol500591q', u'10.1021/op500221s</a>', u'10.1093/bja/aet373</a>', u'10.1007/s00214-014-1525-2</a>', u'10.1002/jcp.24632</a>', u'10.1021/jp5081753', u'10.1016/j.jinorgbio.2014.06.019</a>', u'10.1021/cm503174z</a>', u'10.1107/S1600536814005996', u'10.1039/C4DT02239D', u'10.1039/c4fd00061g', u'10.1039/c4dt00519h</a>', u'10.1021/ja5102536', u'10.1002/chem.201404762', u'10.1107/S160053681401633X', u'10.1039/c4cy00044g', u'10.1063/1.4894746', u'10.1002/anie.201308067', u'10.1080/00268976.2013.822592', u'10.1021/ic403097s</a>', u'10.1039/C4OB01788A', u'10.1039/c4cy00044g</a>', u'10.1039/C4SC00545G</a>', u'10.1021/om500734b', u'10.1021/ja5066366</a>', u'10.1063/1.4894746</a>', u'10.1016/j.tet.2014.06.070</a>', u'10.1016/j.ccr.2014.02.003</a>', u'10.1107/S1600536814019990</a>', u'10.1107/S1600536814019035</a>', u'10.1002/chem.201403891', u'10.1016/j.mex.2014.08.007', u'10.1016/j.polymer.2013.07.035', u'10.1039/c3dt52841c', u'10.1016/j.susc.2013.11.013</a>', u'10.1021/sc400492x', u'10.11113/jt.v69.3198', u'10.1107/S160053681401633X</a>', u'10.1107/S1600536814015657', u'10.1126/science.1253537', u'10.1021/jm5001216</a>', u'10.1039/C4CP04693E</a>', u'10.1002/chem.201302053</a>', u'10.1063/1.4903961', u'10.1107/S1600536814020017', u'10.1002/chem.201304005', u'10.1002/anie.201400405</a>', u'10.1002/anie.201308997', u'10.1039/C3SM52877D', u'10.1021/ic402597s</a>', u'10.1107/S1600536814011350</a>', u'10.1107/S1600536814019035', u'10.1039/C4MD00265B', u'10.1002/chem.201302348', u'10.1107/S1600536814015657</a>', u'10.1039/c4ta02521k</a>', u'10.1039/C4SC00545G', u'10.1021/ic402955e</a>', u'10.1039/c4gc00087k', u'10.1016/j.tet.2014.03.078', u'10.1039/C4CE00308J</a>', u'10.1002/anie.201405755</a>', u'10.1021/jp409522q</a>', u'10.1021/nn405757q', u'10.1002/anie.201308395</a>', u'10.1039/C4CC04024D', u'10.1021/jo402591v', u'10.1039/c4ce00070f', u'10.1021/jp409522q', u'10.1021/op500213j</a>', u'10.1039/C4DT02203C</a>', u'10.1107/S1600536814019321', u'10.1021/ja5102536</a>', u'10.1039/C4CP04046E</a>', u'10.1021/ja5021348', u'10.1371/journal.pone.0107462', u'10.1007/s11244-013-0229-5</a>', u'10.1016/j.apsusc.2014.09.078</a>', u'10.1142/9781848167513_0003', u'10.11113/jt.v69.3198</a>', u'10.1107/S1600536814011350', u'10.1021/bi500238q</a>', u'10.1002/elan.201400085</a>', u'10.1126/science.1253537</a>', u'10.1002/ange.201400405', u'10.1002/9783527658985.ch12</a>', u'10.1021/jp412726z', u'10.1021/ol502201d', u'10.14233/ajchem.2014.15918', u'10.1002/chem.201304005</a>', u'10.1016/j.jinorgbio.2014.07.011', u'10.1093/bja/aet373', u'10.1002/chem.201402174', u'10.1016/j.ccr.2014.05.021</a>', u'10.1002/hc.21164</a>', u'10.1002/ange.201400405</a>', u'10.1016/j.ccr.2014.03.037', u'10.1039/9781782620037-00218</a>', u'10.1016/j.jelechem.2013.09.018', u'10.1016/j.polymer.2013.07.035</a>', u'10.1039/C4RA03102D</a>', u'10.1039/c3ce42267d', u'10.1063/1.4903961</a>', u'10.1002/anie.201308395', u'10.1039/c3dt52972j</a>', u'10.1039/c4dt00114a', u'10.1021/ic500142z', u'10.14293/S2199-1006.1.SOR-CHEM.AALL9P.v1</a>', u'10.1055/s-0034-1379721</a>', u'10.1002/ejic.201402595', u'10.1039/c4fd00061g</a>', u'10.1021/op500155f', u'10.1002/open.201300039', u'10.1021/ja502673h', u'10.14293/S2199-1006.1.SOR-CHEM.AALL9P.v1', u'10.1039/C4OB01396D', u'10.1039/c3ra46386a</a>', u'10.1016/j.tet.2014.04.083', u'10.1371/journal.pone.0107462</a>', u'10.1126/science.1257158', u'10.1039/9781782620037-00218', u'10.1021/jp5078664</a>', u'10.1021/jp412726z</a>', u'10.1016/j.ccr.2014.05.021', u'10.1039/C3OB41869C', u'10.1002/anie.201400405', u'10.1039/C4FD00215F</a>', u'10.1016/j.poly.2013.09.033', u'10.1021/ic403011h</a>', u'10.1007/s00214-014-1525-2', u'10.1016/j.tet.2014.02.003</a>', u'10.1002/anie.201406706', u'10.1021/ic501411w', u'10.1016/j.jcat.2013.04.005', u'10.1107/S1600536814020017</a>', u'10.1021/ja502673h</a>', u'10.1021/op500221s', u'10.1556/JFC-D-13-00030</a>', u'10.1063/1.4889780', u'10.1021/ja5006256</a>', u'10.1016/j.cplett.2014.02.049</a>', u'10.1016/j.jorganchem.2013.08.031', u'10.1039/C4CP04046E', u'10.1007/s11244-013-0229-5', u'10.1039/c3dt52841c</a>', u'10.1021/jp5081753</a>', u'10.1039/C3DT52524D</a>', u'10.1016/j.poly.2013.09.033</a>', u'10.1016/j.jsb.2014.07.004</a>', u'10.1039/C4CP04693E', u'10.1002/chem.201302053', u'10.1002/9781118695708.ch1', u'10.1039/c4cc03259d</a>', u'10.1016/j.tetlet.2014.08.036</a>', u'10.1021/op500195e</a>', u'10.1556/JFC-D-13-00030', u'10.1039/C3SC52745J', u'10.1039/c4ce00070f</a>', u'10.1016/j.cplett.2014.02.049', u'10.1016/j.apsusc.2014.06.088', u'10.1039/C3OB41869C</a>', u'10.1016/j.apsusc.2014.09.078', u'10.1107/S1600536814003729', u'10.1021/jp5078664', u'10.1039/c3ra47573e</a>', u'10.1007/s13203-014-0059-9', u'10.1021/om500518r</a>', u'10.1021/jp505847g', u'10.1016/j.jinorgbio.2014.02.015', u'10.1002/cbic.201402103', u'10.1016/j.electacta.2013.08.169</a>', u'10.1039/C4CY01213E</a>', u'10.1021/ja5006256', u'10.1107/S160053681401664X', u'10.1021/op500213j', u'10.1080/00268976.2013.822592</a>', u'10.1016/j.tet.2014.04.083</a>', u'10.1039/C4DT02239D</a>', u'10.1039/C4CP00529E', u'10.1038/ncomms4332</a>', u'10.1021/ol500591q</a>', u'10.1021/ja5021348</a>', u'10.1021/ar5002457', u'10.1002/9781118695708.ch1</a>', u'10.1021/jo402591v</a>', u'10.1039/C4FD00215F', u'10.1039/c3ra47573e', u'10.1021/ic500142z</a>', u'10.1039/c4cc03259d', u'10.1039/C4CS00042K', u'10.1039/C4CP00564C</a>', u'10.1016/j.electacta.2013.10.028</a>', u'10.1063/1.4885217', u'10.1021/ic402597s', u'10.1021/bi500507v</a>', u'10.1002/cphc.201402271</a>', u'10.1007/s11030-013-9498-y', u'10.1107/S1600536814003729</a>', u'10.1002/anie.201405755', u'10.1039/C3SC52745J</a>', u'10.1021/ic501236j</a>', u'10.1002/anie.201404266</a>', u'10.1002/9781118778173</a>', u'10.1002/hc.21164', u'10.1016/j.jsb.2014.07.004', u'10.1021/op500155f</a>', u'10.1016/j.ccr.2014.03.037</a>', u'10.1021/cm503174z', u'10.1002/anie.201406706</a>', u'10.1002/ejic.201402606', u'10.1107/S1600536814005996</a>', u'10.1039/C4RA03102D', u'10.1021/nn405757q</a>', u'10.1021/ic402955e', u'10.1007/s13203-014-0059-9</a>', u'10.1107/S1600536814019990', u'10.1021/ic501236j', u'10.1002/chem.201403891</a>', u'10.1021/cs400683e</a>', u'10.1126/science.1257158</a>', u'10.1021/ar5002457</a>', u'10.1016/j.jinorgbio.2014.07.011</a>', u'10.1002/9783527658985.ch12', u'10.1016/j.jcat.2013.04.005</a>', u'10.1021/ic501411w</a>', u'10.3390/molecules191015584', u'10.1002/ejic.201402595</a>', u'10.1039/c4cc01370k', u'10.1038/ncomms4332', u'10.1039/C4OB01916D</a>', u'10.1039/C4CE00308J', u'10.1002/cmdc.201400056</a>', u'10.1002/cphc.201402271', u'10.1107/S160053681401664X</a>', u'10.1021/bi500507v', u'10.1039/c4cy00387j</a>', u'10.1039/C4CC04024D</a>', u'10.1002/open.201300039</a>', u'10.1016/j.apcata.2014.07.029</a>', u'10.3390/catal4020089', u'10.1071/CH14170</a>', u'10.1021/ar400177c</a>', u'10.1039/c3cp53691b', u'10.1016/j.tetlet.2014.08.036', u'10.1007/s11243-013-9789-2', u'10.1016/B978-0-08-097742-3.00821-1', u'10.1016/j.electacta.2013.10.028', u'10.1039/c4dt00519h', u'10.1002/anie.201308997</a>', u'10.1021/cs400683e', u'10.1021/jp505847g</a>', u'10.1016/j.tet.2014.02.043', u'10.14233/ajchem.2014.15918</a>', u'10.1002/jcp.24632', u'10.1016/B978-0-08-097742-3.00821-1</a>', u'10.1063/1.4885217</a>', u'10.1016/j.susc.2013.11.013', u'10.1002/cssc.201300834</a>', u'10.1055/s-0033-1340835</a>', u'10.1039/C3DT52524D', u'10.1039/c3ce42267d</a>', u'10.1039/c3cp53691b</a>', u'10.1002/chem.201404762</a>', u'10.1039/c4cy00184b', u'10.1002/chem.201402446</a>', u'10.1016/j.tet.2014.06.070', u'10.1021/ct4009969</a>', u'10.1021/om500734b</a>', u'10.1002/elan.201400085', u'10.1107/S1600536814019321</a>', u'10.1002/chem.201402446', u'10.1002/ejic.201402248', u'10.1039/c4cy00027g</a>', u'10.1039/C4OB01396D</a>', u'10.1039/C4CP00564C', u'10.1021/ja4110842</a>', u'10.1016/j.ccr.2014.02.003', u'10.1039/c4ta02521k', u'10.1039/c4dt00114a</a>', u'10.1002/ejic.201402606</a>', u'10.1021/ct4009969', u'10.1039/c4cc01370k</a>', u'10.1071/CH14170', u'10.1021/om500518r', u'10.3390/molecules191015584</a>', u'10.1016/B978-0-08-097742-3.00735-7', u'10.1016/j.mex.2014.08.007</a>', u'10.1016/j.tet.2014.02.003', u'10.1107/S1600536813033266</a>', u'10.1021/ar400177c', u'10.1107/S1600536813033266', u'10.1002/chem.201302348</a>', u'10.1016/j.tet.2014.02.043</a>', u'10.1021/ja4110842', u'10.1016/j.jelechem.2013.09.018</a>', u'10.1039/c4cy00387j', u'10.1142/9781848167513_0003</a>', u'10.1002/anie.201308067</a>', u'10.1021/jm5001216', u'10.1002/asia.201301582</a>', u'10.1039/C4CP00529E</a>', u'10.1055/s-0034-1379721', u'10.1002/chem.201402174</a>', u'10.1021/bi500508z</a>', u'10.1016/j.jinorgbio.2014.06.019', u'10.1016/j.apcata.2014.07.029', u'10.1002/cmdc.201400056', u'10.3390/catal4020089</a>', u'10.1039/C3SM52877D</a>', u'10.1039/c3ra46386a', u'10.1002/9781118778173']
0 failed dois from 352 requests
failure rate: 0.0

In [ ]: