{"repo":"Tomas2D/puppeteer-table-parser","free":true,"listed":false,"github":"https://github.com/Tomas2D/puppeteer-table-parser","clone":"git clone https://github.com/Tomas2D/puppeteer-table-parser.git","description":"Scrape and parse HTML tables with the Puppeteer table parser.","language":"TypeScript","stars":23,"topics":["typescript","puppeteer","puppeteer-tables","csv","scraping","html","javascript","scrape","table"],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"🕸 🕷 puppeteer-table-parser Library to make parsing website tables much easier! When you are using puppeteer for scrapping websites and web application, you will find out that parsing tables consistently is not that easy. This library brings you abstraction between puppeteer and page context . This library solves the following issues: - ✨ Parsing columns by their name. - ✨ Respect the defined order of columns. - ✨ Appending custom columns with custom data. - ✨ Custom sanitization of data in cells. - ✨ Group and Aggregate data by your own function. - ✨ Merge data from two independent tables into one structure. - ✨ Handles invalid HTML structure. - ✨ Retrieve results as CSV or array of plain JS objects. - ✨ And much more! Installation API Parsing workflow 1. Find table(s) by provided CSS selector. 2. Find associated columns by applying colFilter on their text and verify their count. 3. Filter rows based on rowValidationPolicy 4. Add extra columns specified in extraCols property in settings. 5. Run rowValidator function for every table row. 6. Run colParser for every cell in a row. 7. Run rowTransform function for each row. 8. Group results into buckets ( groupBy.cols ) property and pick the aggregated rows. 9. Add processed row to a temp array result. 10. Run excludedColumns and exclude retrieved columns from the rows and the header . 11. Add header row (if withHeader property is true ). 12. Merge partial results and return them. Performance: cell text source By default each b","default_branch":null,"files":null,"tree":[],"storefront":"/r/Tomas2D","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Tomas2D/puppeteer-table-parser/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}