我的目标是拥有一个可以访问特定网页的 python 脚本,提取每个页面上文件名中包含特定单词的所有 pdf 文件,将它们转换为 html/xml,然后通过 html 文件从 pdf 中读取数据表。
到目前为止,我已经导入了 mechanize(用于浏览页面/查找 pdf 文件)并且我有 pdfminer,但是我不确定如何在脚本中使用它来执行它在命令行上执行的相同功能。
完成我的任务最有效的库组是什么,您建议如何处理每个步骤?如果这对于stackoverflow来说太具体了,我深表歉意,但是我在使用谷歌搜索和稀疏文档来拼凑如何编写代码时遇到了麻烦。谢谢!
编辑:所以我决定在这个上使用 Scrapy。到目前为止我真的很喜欢它,但现在我有一个新问题。我已经定义了一个 PDFItem() 类以与我的蜘蛛一起使用,其中包含字段标题和 url。我有一个选择器,它可以抓取我想要的所有链接,我想浏览这些链接并为每个链接创建一个 PDFItem。这是我下面的代码:
links = sel.xpath('//a[contains(@href, "enforcementactions.pdf") and contains(@class, "titlelink")]')
item = PDFItem()
for link in links:
item['title'] = link.xpath('/text()')
item['url'] = URL + link.xpath('@href').extract()[0]
url 行效果很好,但我真的不知道如何为标题做同样的事情。我想我可以只在顶部执行查询,但在选择器的末尾添加“/text()”,但这似乎过分了。有没有更好的方法来遍历链接数组中的每个链接对象并获取文本和 href 值?