Python目录爬虫扫描各类文件并搜索关键字

我正在尝试创建一个目录爬虫来搜索文件夹及其所有子文件夹内的所有文件中的特定关键字。这是我到目前为止所拥有的(在这种情况下,我正在寻找关键字“olofx”):


import os


rootDir = os.getcwd()


def scan_file(filename, dirname):

    print(os.path.join(dirname,filename))


    contains = False


    if("olofx" in filename):

        contains = True

    else:

        with open(os.path.join(dirname,filename)) as f:

            lines = f.readlines()

            for l in lines:

                #print(l)

                if("olofx" in l):

                    contains = True

                    break


    if contains:

        print("yes")


for dirName, subdirList, fileList in os.walk(rootDir):

    for fname in fileList:

        scan_file(fname, dirName)

问题是当我到达我的示例 excel 文件之一时,字符似乎不可读。


这是excel文件的一些输出:


;���+͋�۳�L���P!�/��KdocProps/core.xml �(���_K�0���C�{�v�9Cہʞ


n(���v

      6H�ݾ�i���|Lι��sI���:��VJ'    �@1ͅ�h�^�s9O��VP�8�(//r���6`��r���7c�v ���

我使用过 openpyxl,我知道我可以用它来读取 excel 文件,但我想要一个可以读取各种文件的脚本:word、excel、pdf 等。无论如何都要表示文件的内容,而不管文件类型如何?


不负相思意
浏览 221回答 2
2回答

九州编程

看来,您的脚本以不同的编码保存为您的文件,这些文件可能是 UTF-8 编码的。尝试在您的文件的开头添加以下行:#!/usr/bin/env python #-*- coding: utf-8 -*-
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python