{"repo":"gajus/surgeon","free":true,"listed":false,"github":"https://github.com/gajus/surgeon","clone":"git clone https://github.com/gajus/surgeon.git","description":"Declarative DOM extraction expression evaluator. 👨‍⚕️","language":"JavaScript","stars":688,"topics":["css-selector","parser","scraper","subroutines"],"license":null,"category":"scrapers-browser-automation","readme_excerpt":"Surgeon Declarative DOM extraction expression evaluator. Powerful, succinct, composable, extendable, declarative API. Not succinct enough for you? Use aliases and the pipe operator ( ) to shorten and concatenate the commands: Have you got suggestions for improvement? I am all ears. --- Configuration Evaluators browser evaluator cheerio evaluator Subroutines Built-in subroutines append subroutine closest subroutine constant subroutine format subroutine match subroutine nextUntil subroutine prepend subroutine previous subroutine read subroutine remove subroutine select subroutine Quantifier expression test subroutine User-defined subroutines Inline subroutines Built-in subroutine aliases Expression reference The pipe operator ( ) Cookbook Extract a single node Extract multiple nodes Name results Validate the results using RegExp Validate the results using a user-defined test function Declare subroutine aliases Error handling Debugging Configuration Name Type Description Default value --- --- --- --- evaluator EvaluatorType HTML parser and selector engine. See evaluators. browser evaluator if window and document variables are present, cheerio otherwise. subroutines $PropertyType User defined subroutines. See subroutines. N/A Evaluators Subroutines use an evaluator to parse input (i.e. convert a string into an object) and to select nodes in the resulting document. The default evaluator is configured based on the user environment: browser evaluator is used if window and document v","default_branch":null,"files":null,"tree":[],"storefront":"/r/gajus","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/gajus/surgeon/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."}