Fast HTML5 parser with CSS selectors.
Project description
A fast HTML5 parser with CSS selectors using Modest engine.
Installation
From PyPI using pip:
pip install selectolax
Development version from github:
git clone --recursive https://github.com/rushter/selectolax
cd selectolax
pip install -r requirements_dev.txt
python setup.py install
How to compile selectolax while developing:
make clean
make dev
Examples
from selectolax.parser import HTMLParser
html = "<div><p id=p1><p id=p2><p id=p3><a>link</a><p id=p4><p id=p5>text<p id=p6></div>"
selector = "div > :nth-child(2n+1):not(:has(a))"
for node in HTMLParser(html).css(selector):
print(node.attributes, node.text(), node.tag)
print(node.parent.tag)
print(node.html)
Simple Benchmark
Average of 10 experiments to parse and retrieve URLs from 800 Google SERP pages.
Package |
Time |
Memory (peak) |
---|---|---|
selectolax |
2.38 sec. |
768.11 MB |
lxml |
18.67 sec. |
769.21 MB |
Links
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
selectolax-0.2.6.tar.gz
(1.3 MB
view hashes)
Built Distributions
selectolax-0.2.6-cp38-cp38-win32.whl
(553.2 kB
view hashes)
selectolax-0.2.6-cp37-cp37m-win32.whl
(551.3 kB
view hashes)
selectolax-0.2.6-cp36-cp36m-win32.whl
(551.5 kB
view hashes)
selectolax-0.2.6-cp35-cp35m-win32.whl
(550.6 kB
view hashes)
Close
Hashes for selectolax-0.2.6-pp36-pypy36_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3c992bd9672d3fa4a7573e8dd604aa46add54744ee2d886527fe7fde6aeb287 |
|
MD5 | f9b9d811fa3885fc55b365c51f7d4a45 |
|
BLAKE2b-256 | f43f1ca6b0aeb0ce69d7ddc5835f7c05c80b96807348c42fce6adaa4c4177f14 |
Close
Hashes for selectolax-0.2.6-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59500e8b924b8ea286ce5c7167f4e71b0ce1fdf4d5ae04d080270e8d0b02a09d |
|
MD5 | a7712438a48e5075d1f05faa6ce4b9be |
|
BLAKE2b-256 | 03cb0959c1bf2dae978f89c551bfa2f3071d7bda2cf20edffd19de49d7337572 |
Close
Hashes for selectolax-0.2.6-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 429a4b4029cc91ab6b9d860659be4c9060111117f970e858b3fc174678229bd2 |
|
MD5 | ee50a144823ee63f29fee50dfab57bd6 |
|
BLAKE2b-256 | 303ea1a842278d551ba70288587a9408d4d8fa9f978ebe01c9d0165fa612ccd6 |
Close
Hashes for selectolax-0.2.6-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ecfab78890b224d03f45ac6f5594442b90a0ac67ac001bc4227914a364ebb72 |
|
MD5 | 85f6ebcdf0af81200e3da54b561dc16d |
|
BLAKE2b-256 | 260f7510deae031f7f3501922104f2bb8e0fe9a2a04a50690d0d0fdb92e084f7 |
Close
Hashes for selectolax-0.2.6-pp27-pypy_73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8286add058acf803c5fb5f7390785e6059136b6794703da8474dbdbc3130f543 |
|
MD5 | faffb73b259289451560963e4d07c9ce |
|
BLAKE2b-256 | 57ccb238566915add7450512397182921b34ddb2047ad4fb8322a757dbd3d1be |
Close
Hashes for selectolax-0.2.6-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fb8b9fbcfeeccf5755465e39e789feda8e53d63015218f3fc3b67b3a012cb74 |
|
MD5 | 2886dd5115f2984234cea3baf9ec4382 |
|
BLAKE2b-256 | 7e50cd0e60419b64b640448c373c2f730213442a6b797a33d58f5805e7956ab2 |
Close
Hashes for selectolax-0.2.6-pp27-pypy_73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | efa410f3bd89bb8031c168537e022fd805b670a84d3c232bf21de8284eda4a73 |
|
MD5 | 67ae07d997c60fed84850f7b44a8aff4 |
|
BLAKE2b-256 | d03c890c58dac93812037786b00343f4a7f7331d2480c9bf5522d168641c582b |
Close
Hashes for selectolax-0.2.6-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1ceb3d0caffa5b61878a24418fc66daea91d6f6ff3785e6400fe668753ec97c |
|
MD5 | 990462c3d8b8313d3d4ccc6b4bd28c57 |
|
BLAKE2b-256 | f5420f2fbaf4f71e5cfef79f9fab165764d3c2f27c3824579b83c54f35528e25 |
Close
Hashes for selectolax-0.2.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f68429de940ef9e16af6a5414f8e0d254684a6d11a5c697860d6430360946b86 |
|
MD5 | 62e5b7aee8788548ebee48879fa1eb69 |
|
BLAKE2b-256 | 9dffe37fbfdb3fb4bf02a308e828d1a9c6579d86e22b583420b825e08635eef8 |
Close
Hashes for selectolax-0.2.6-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fcb75960feaff8df008e9184bddfd8ca52302252bef79a026687dab60696f315 |
|
MD5 | 12736e0a0ce5eda371f471b478209171 |
|
BLAKE2b-256 | cc0546f1eeac84ee51e120a0fcbbf37d6e9d2bfc773987281ae2327bf235bc29 |
Close
Hashes for selectolax-0.2.6-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 264153100df77eb4b9d69e10373c79e0909a61dc42727d142104cf1a3c022501 |
|
MD5 | 899b3dd18bd19057e259502b2c0fd3c5 |
|
BLAKE2b-256 | 91166232828b41d396ac2f44b618b5e55f6fbf6902257b4bfd615bd63f9d2db1 |
Close
Hashes for selectolax-0.2.6-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 347515b9d82db22d36767a570729687055ce2d528017f7e33116d7ff0a23bc43 |
|
MD5 | 7b9c7422fa13a34904aeee1ccf1b5bdd |
|
BLAKE2b-256 | b7b651cf70ef9145f7f902c37ab17e8748c55d4214376205ae4d5e09f5128719 |
Close
Hashes for selectolax-0.2.6-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a1d33100f704f6249f6a89225d662e4ce9c4de7d6dd437e296f395867dc0597 |
|
MD5 | b294ecbf8de3f9039a3946043ca2a6e3 |
|
BLAKE2b-256 | 851451f05d4830b21a2a31b15b08de5fbd6916ae330d428e8ad6bfccb52e7b8b |
Close
Hashes for selectolax-0.2.6-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eac6a658894d5b8464607e22355bfc9c3d938c3b41a3d36a55ef2de2d9123f20 |
|
MD5 | 9dbe058bbb561642527b2d52c9f07c32 |
|
BLAKE2b-256 | e2e6b8400ee3aa966806f6333703ad8c0fc7c61c7c116e7ea6ea65d93c901b59 |
Close
Hashes for selectolax-0.2.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10529610a733b238f00360e33eb807369abe4db02ee6587d3643058baad2ae4c |
|
MD5 | 34af48c4c05ba06b5e9eda601b1d39ef |
|
BLAKE2b-256 | 213474dfcec09f891df26bb31400537453cbea287d834dd8db70997b8ed5a55d |
Close
Hashes for selectolax-0.2.6-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa82ace1ac8fe00408a3c24f6ecf010d18e69e680425a2b01c65a6fa33e89d30 |
|
MD5 | 024a76bcf326a7262cc37d84a217ae92 |
|
BLAKE2b-256 | e23034fe62408cb7991574a68a60c4bd19a6bd69d61cd65b8602a4f6fbd2c3a6 |
Close
Hashes for selectolax-0.2.6-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f71ec76d9e8bfd1b32d9b13d6745df481a1d12c3a4f316fad8590a3f2c82903c |
|
MD5 | 02119e0b3ee0447fb773d06e63415b49 |
|
BLAKE2b-256 | 57b3a65ba9ae9fa5333e573740cbf42eacc8f3c0105f0f9dd48159a3183f3d67 |
Close
Hashes for selectolax-0.2.6-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb1530903b4d7c29583193a61f1714bd7893fdf4ba8251d94de8210261ab8c64 |
|
MD5 | 80d6382471bef2f9bc31b8a5b90c67de |
|
BLAKE2b-256 | 713faee6c269d77ccc4107015111eb29587eca0b23a4bf45bce50af3681d97be |
Close
Hashes for selectolax-0.2.6-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ba6ac1be6fda2bc8122fe2c21c83586a1c462934e27093b09897bfec1d89ebe |
|
MD5 | 50e0e981988e5bfb49b68bc1d6da813b |
|
BLAKE2b-256 | 67f88682016af942a72b9137af78fd560feb1fd6b2333f310caba3be6b9cc246 |
Close
Hashes for selectolax-0.2.6-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90095ce751b0f8dba70db358e997a9253569657a7869b749e6013080b8b2536b |
|
MD5 | 400c1d78f97484b13b2b13518e6df3e9 |
|
BLAKE2b-256 | 367cbd35d096f88e2516a9c136ae9d61667f5a4369da7880c943427bd3bd6145 |
Close
Hashes for selectolax-0.2.6-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b667927d3878973920a7de613bfcc53be33c2367d9745fc4598e1fb84272271e |
|
MD5 | 23fb312620f7cfe2af60fbc3c56fb0f8 |
|
BLAKE2b-256 | 585cfb12cb65f02f92d65531c6a352a83a9cfe22c529f9c3440a395600e122c3 |
Close
Hashes for selectolax-0.2.6-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e577d636ccd0233d32e323e21d76a1821d46d852ffa895c3690d7c633da2206a |
|
MD5 | 645f5f9feb814289196454d31b3522b8 |
|
BLAKE2b-256 | 9c4ebcd9322032b6b4e5e2addaa110a7221f55521fde43326cadded84d2603de |
Close
Hashes for selectolax-0.2.6-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 488e3b37664a525d52becd85833ed0704715e1fefef98272598f135497710185 |
|
MD5 | cec3f1a566b82b34daeaa8b9434e1f57 |
|
BLAKE2b-256 | ff5394759154515685abf8178db4fb5ce0c7080695fa624dd7025ac1c5ed3403 |
Close
Hashes for selectolax-0.2.6-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bab58532740b56b619c1acb348840b9ee6844b243ac23a52f798b3b26cbd853a |
|
MD5 | 511cd0969d5461b4931e32e33173bf6d |
|
BLAKE2b-256 | 066c98fc0d9ab42030038b833b0fd7af3cfdd1705675ba7b77f41066c51780dc |
Close
Hashes for selectolax-0.2.6-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6439eb76ea7b258987d0a4eb1130f11386a947dabafcb8b59c7cdf4306b0150b |
|
MD5 | 93cd9500cf6e7dcc1ed285d2d4412728 |
|
BLAKE2b-256 | b7190619aef54dc4d6a1abbf7f929ccc468df56d188adadaf0e0d771f6a0a89d |
Close
Hashes for selectolax-0.2.6-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 723d4dd4ef906e2549104dc96c03d30262d97c78eb60a534804276fa3e37db0f |
|
MD5 | 19e32016885bb98193ace06ece04ec15 |
|
BLAKE2b-256 | 47c0979b2fc02ee030c27c94dbe286818e574731d57699d0950ab85c14eadedb |
Close
Hashes for selectolax-0.2.6-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1045afdf8e31fb64ee3fb711b563f29bda7b24f3f1f4b9fbfdd828c9b6537c3 |
|
MD5 | d9a7ace942f5e40330fca92c8e08f9ca |
|
BLAKE2b-256 | 69833e719cf65bbb3ea3ceee6ea211bca052cb75636496e3e361f12c368ff692 |
Close
Hashes for selectolax-0.2.6-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9de99754899ebe686809ed0c60c41c9458001cc1fbc8ff242e2871050aed724b |
|
MD5 | 72a7fb2f031d43b67c791f18fe8bd4fc |
|
BLAKE2b-256 | 3ccf697d3fc9a6d511ce5f64138400978ad310e711365e0666fc987b97cc13cc |
Close
Hashes for selectolax-0.2.6-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9cb41c396b0f8ed80c8d47d4cd72e565fa86bdeb79ef8338365a8074f407699 |
|
MD5 | 7b6eda266c6a5653ab3c9678572b77f1 |
|
BLAKE2b-256 | 3f8a044378cfd1983e8ad8a5231a51ad9cd839640bac60fd6aeaffb56715b692 |
Close
Hashes for selectolax-0.2.6-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04c83bcd780850f0310e6f6ab1ef418fb9e874c320062f9e506624553600c247 |
|
MD5 | 0c180507ea1e8f1bc3b563b844a06ea0 |
|
BLAKE2b-256 | b4c9475fa00341c0b28c0a6765549971aa2032a26536f06286436fa8c7e5e521 |
Close
Hashes for selectolax-0.2.6-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 500b02be7686af28d6e0c03ecff6187a675201a44d212dff058b451638a8bfe3 |
|
MD5 | cdb39c081e98926763e0cd540c23c89e |
|
BLAKE2b-256 | e692add415eb057b00156f83aa9541a83bfbbe2477ac95571edc269b12a7a730 |
Close
Hashes for selectolax-0.2.6-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db574bdfb5027d950ed8cefdb1ed4b1ab520593da2b569c9d03d7ca1d86356fc |
|
MD5 | 807941aedb4e2fbac31bc4ccce0f810f |
|
BLAKE2b-256 | 9997b4eb5ad74840a6afdbb13f6d8d59ba81ad76c4c3c8f1eacede27012722db |
Close
Hashes for selectolax-0.2.6-cp35-cp35m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 006d52f994eda78dc1532551b2294baa0a2d9820d8956bfdf9d13a3964d33d30 |
|
MD5 | b1d0b0069a07890b8218e1e339a642b9 |
|
BLAKE2b-256 | e034690b475f815c499cdb9da5055304034b3612e005ed657b0ac15e5763afb4 |
Close
Hashes for selectolax-0.2.6-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f2e8195f4857568cef1e0c09211e167fc459644bf6b1b1af265caf504b04896 |
|
MD5 | e742f806a168fd13b790e4247c3da750 |
|
BLAKE2b-256 | e5efcfb01006537807408282566e8cb4f3e45d3dd304e9ba169164dc69c11710 |
Close
Hashes for selectolax-0.2.6-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 272f1f564426284e01da0415b0e65ddf7690a8ae4d45d4f2fd4dd813f6754bb3 |
|
MD5 | 9ca0f4515526c96202979ba0c462ffe2 |
|
BLAKE2b-256 | 13d6a5df640cbbd129e59bc4f96d4130c7558e17f49a754eaef15cccd89c1dea |
Close
Hashes for selectolax-0.2.6-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 245c5372018637d016c9f155e1fe63618f1c78b70bb2b8cb0f62968634799cf3 |
|
MD5 | da8470edd682718a9c68ed48a3275e51 |
|
BLAKE2b-256 | 2d6405d8ce3b8bef5d1bc0bf93eae1f3d20742b9ae4588616ba6bc138ce23d50 |