parseBookFromHtml static method
Parses book data from HTML content containing JSON-LD script tags
Implementation
static Book? parseBookFromHtml(String htmlContent) {
try {
final document = html_parser.parse(htmlContent);
final scriptTags = document.querySelectorAll('script[type="application/ld+json"]');
for (var script in scriptTags) {
final jsonContent = script.innerHtml.trim();
if (jsonContent.isNotEmpty) {
try {
final jsonData = json.decode(jsonContent);
// Check if this JSON-LD is for a Book/Product
if (_isBookData(jsonData)) {
return Book.fromJson(jsonData);
}
} catch (e) {
// Skip invalid JSON
continue;
}
}
}
return null;
} catch (e) {
// Handle parsing error
print('Error parsing HTML: $e');
return null;
}
}