main function
void
main()
Example usage of elements with the Scraper class.
This example demonstrates how to use the Scraper class to scrape multiple elements/content from a web page.
Implementation
void main() async {
final String url = 'https://books.toscrape.com/';
final Scraper scraper = Scraper();
final Document doc = await scraper.getDocument(url: url);
final List<BooksEntity> books = <BooksEntity>[];
final List<Element> element = doc.querySelectorAll(
'.col-xs-6.col-sm-4.col-md-3.col-lg-3',
);
for (final e in element) {
final String? title = scraper.elementSelect(
element: e,
selector: 'h3 a',
);
final String? price = scraper.elementSelect(
element: e,
selector: 'p.price_color',
);
final String? availability = scraper.elementSelect(
element: e,
selector: 'p.availability',
);
final String? image = scraper.elementSelectAttr(
element: e,
selector: '.image_container img',
attr: 'src',
);
final String? link = scraper.elementSelect(
element: e,
selector: 'h3 a',
);
books.add(
BooksEntity(
title: title ?? '',
price: price ?? '',
availability: availability ?? '',
image: image ?? '',
link: link ?? '',
),
);
}
print('Total de livros: ${books.length}');
for (final book in books) {
print('-----------------------------------');
print(book.toJson());
print('-----------------------------------');
}
}