예제 #1
0
    def test_errors_report(self):
        inspector = Inspector(source='tests/src/source_files_errors',
                              data_classes=self._wikipedia_html_data_classes,
                              match_pattern='*.html')
        extractor = Extractor(inspectors=[inspector])
        data_collection = extractor.extract()

        errors = data_collection.get_errors()
        self.assertEquals(1, len(errors))
        self.assertEquals(('tests/src/source_files_errors/error_unicode.html',
                           'match',
                           "'utf-8' codec can't decode byte 0xe0 in position 6071: invalid "
                           'continuation byte'), errors[0].get_as_tuple())
예제 #2
0
source_directory = 'sandbox/dalz/Raw_Field_Blog/HTLML_complete/Blog_LaFraise/Blog_LaFraise/blog.lafraise.com/fr/'

# Les différentes données qui vont être extraites
data_classes = [ArticleCommentCountFileData,
                AuthorArticleCountFilesData,
                ArticlePublicationDateFileData,
                ArticlePublicationHourFileData,
                ArticleAuthorFileData,
                ArticleWordCountFileData,
                CommentAuthorCommentCountFilesDatas,
                AuthorArticlesCommentsCountAverageFilesData,
                AuthorArticlesWordsCountAverageFilesData,
                ArticlePatriceCommentCountFileData]

# Création de l'objet chargé de récupérer les fichiers correspondant aux données recherchés
inspector_lafraise = Inspector(source=source_directory,
                               data_classes=data_classes,
                               match_pattern='*.html')

# Création de l'extracteur de données
extractor = Extractor(inspectors=[inspector_lafraise])

# Extraction des données
data_collection = extractor.extract()

# Création de l'objet pour exporter en CSV. On précise la liste des données à compiler dans un fichier.
csv_convector = CSVExporter(data_collection, implode_classes=[ArticleImplode, AuthorImplode])

# Export dans le répertoire output des différentes données extraites
csv_convector.export('sandbox/dalz/output')
예제 #3
0
 def _get_extractor(self, inspectors):
     return Extractor(inspectors=inspectors)
예제 #4
0
source_directory = 'sandbox/dalz/Raw_Field_Blog/HTLML_complete/Blog_LaFraise/Blog_LaFraise/blog.lafraise.com/fr/'

# Les différentes données qui vont être extraites
data_classes = [
    ArticleCommentCountFileData, AuthorArticleCountFilesData,
    ArticlePublicationDateFileData, ArticlePublicationHourFileData,
    ArticleAuthorFileData, ArticleWordCountFileData,
    CommentAuthorCommentCountFilesDatas,
    AuthorArticlesCommentsCountAverageFilesData,
    AuthorArticlesWordsCountAverageFilesData,
    ArticlePatriceCommentCountFileData
]

# Création de l'objet chargé de récupérer les fichiers correspondant aux données recherchés
inspector_lafraise = Inspector(source=source_directory,
                               data_classes=data_classes,
                               match_pattern='*.html')

# Création de l'extracteur de données
extractor = Extractor(inspectors=[inspector_lafraise])

# Extraction des données
data_collection = extractor.extract()

# Création de l'objet pour exporter en CSV. On précise la liste des données à compiler dans un fichier.
csv_convector = CSVExporter(data_collection,
                            implode_classes=[ArticleImplode, AuthorImplode])

# Export dans le répertoire output des différentes données extraites
csv_convector.export('sandbox/dalz/output')