The primitive is extract.
extract
It takes bytes and a list of selectors.
Return one value column per query.
Note
Unsupported selectors raise by default.
cols = extract(html, ["h1::text"]) # <- one pass