extractArticles method
Extracts all article information from the HTML
Implementation
List<Map<String, dynamic>> extractArticles(String html) {
final articles = <Map<String, dynamic>>[];
// Try to extract articles from JSON-LD
final jsonLdResults = extractJsonLd(html);
for (final result in jsonLdResults) {
if (result.data['@type'] == 'Article' ||
result.data['@type'] == 'NewsArticle' ||
result.data['@type'] == 'BlogPosting' ||
result.data['@type']?.toString().contains('Article') == true) {
articles.add(result.data);
}
}
// Try to extract articles from Microdata
final microdataResults = extractMicrodata(html);
for (final result in microdataResults) {
if (result.data['@type']?.toString().contains('Article') == true) {
articles.add(result.data);
}
}
// Try to extract articles from RDFa
final rdfaResults = extractRdfa(html);
for (final result in rdfaResults) {
if (result.data['@type']?.toString().contains('Article') == true) {
articles.add(result.data);
}
}
// Try to extract articles from Open Graph
final ogResults = extractOpenGraph(html);
for (final result in ogResults) {
if (result.data['type'] == 'article') {
articles.add(result.data);
}
}
return articles;
}