Я пытаюсь получить некоторые данные из pdf-документа, используя scraperwiki для pyhon. Это прекрасно работает, если я загрузить файл с помощью urllib2 как так:Использование scraperwiki для pdf-файла на диске
pdfdata = urllib2.urlopen(url).read()
xmldata = scraperwiki.pdftoxml(pdfdata)
root = lxml.html.fromstring(xmldata)
pages = list(root)
Но вот идет сложная часть. Поскольку я хотел бы сделать это для большого количества pdf-файлов, которые у меня есть на моем диске, я бы хотел покончить с первой строкой и передать файл pdf напрямую в качестве аргумента. Однако, если я пытаюсь
pdfdata = open("filename.pdf","wb")
xmldata = scraperwiki.pdftoxml(pdfdata)
root = lxml.html.fromstring(xmldata)
Я получаю следующее сообщение об ошибке
xmldata = scraperwiki.pdftoxml(pdfdata)
File "/usr/local/lib/python2.7/dist-packages/scraperwiki/utils.py", line 44, in pdftoxml
pdffout.write(pdfdata)
TypeError: must be string or buffer, not file
Я предполагаю, что это происходит потому, что я не открывать PDF правильно?
Если да, есть ли способ открыть pdf-файл с диска так же, как urllib2.urlopen() делает?
Спасибо. Это решило оригинальную проблему. Однако теперь я получаю другую ошибку: 'root = lxml.html.fromstring (xmldata) ... lxml.etree.XMLSyntaxError: None' (Полный текст ошибки слишком длинный для комментария). Я предполагаю, что это не связано с моим первоначальным вопросом, но все же понимание очень ценится! –
Вы могли бы ответить с помощью палочки для вашего кода? –
Код: http://pastebin.com/3LUpqQ84 Полное сообщение об ошибке: http://pastebin.com/WK74TS8B –