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.7.tar.gz
(1.3 MB
view hashes)
Built Distributions
selectolax-0.2.7-cp38-cp38-win32.whl
(554.7 kB
view hashes)
selectolax-0.2.7-cp37-cp37m-win32.whl
(552.5 kB
view hashes)
selectolax-0.2.7-cp36-cp36m-win32.whl
(552.7 kB
view hashes)
selectolax-0.2.7-cp35-cp35m-win32.whl
(551.8 kB
view hashes)
Close
Hashes for selectolax-0.2.7-pp36-pypy36_pp73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5622163c4237c85e894633f922d62f4e0435d09b19e5ace6ddaaa0561a47314 |
|
MD5 | 00714c7bb0854ff82bdece06f5943f9c |
|
BLAKE2b-256 | c33fe6c884434824db882535d574bf2469ea1f94a6fc6fca5982bdc5d825dae7 |
Close
Hashes for selectolax-0.2.7-pp36-pypy36_pp73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0d21647d3da63a1b435c3652969db2aaabcf21c3d5546b88aae92759e670717 |
|
MD5 | 80624e6a248820fc849319c262ee2c60 |
|
BLAKE2b-256 | cbbe32435857d29fcd4ad67368c5cfda62cf52054ad5b0eb2dbf42b4e9fd3d85 |
Close
Hashes for selectolax-0.2.7-pp36-pypy36_pp73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f9d29a46414accff4690f715b2ce5eb97e58e64b2d549014b3200e99f5e6a7b |
|
MD5 | f612bf4dcb3c4cda649a45ec5f995e6d |
|
BLAKE2b-256 | 8f4d98cd290c6e9dc0863fa5da9ff2f0c49defac42126bf50094b4ad2afaf25a |
Close
Hashes for selectolax-0.2.7-pp36-pypy36_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91580fb2d4460365288dab07e5bb17c0d8ecbe867e8096015d4d4a0e226be906 |
|
MD5 | ebd53670f7e4c31a6ccb4454f49728de |
|
BLAKE2b-256 | d913184e634f84ffbe99d57202ca562fb2a18918074a09965d11e65aec2c689f |
Close
Hashes for selectolax-0.2.7-pp27-pypy_73-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f05fb6e4de9eddddf1420f7fb06a177dd5a86bb9771464d3cff22f2a3683946 |
|
MD5 | e39160f89c967eeee0cd673985214fcd |
|
BLAKE2b-256 | fd2d46c7fb1311e4f52e23646243fa756f1d1a80c84c3ecf09143b638951b290 |
Close
Hashes for selectolax-0.2.7-pp27-pypy_73-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0daa00ad10f42e4afc58666e8b2793ab9c758bf903035e387f969e047cdb0857 |
|
MD5 | 2be11f22432bbd5695ef312d8c99fa41 |
|
BLAKE2b-256 | d8a452da1cbe9a32ab6e50647037253f3fe70cc8a281682d23da7566d5b34c90 |
Close
Hashes for selectolax-0.2.7-pp27-pypy_73-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50339be4bd6ba9f195f3b881adb3f9d679af73311f229765dca07d9458b18e6f |
|
MD5 | b3c62ef2011f46d119b67a9f141149ea |
|
BLAKE2b-256 | 8619ebba7cd379b0d94d64593e966b59738ccf0495971fa9a392de85401ccaa6 |
Close
Hashes for selectolax-0.2.7-pp27-pypy_73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35e37d3d74873885d6f9a1af6cc75d39fa7b60a9d1e327d167acf5d4a7775954 |
|
MD5 | c16afa9df1c36efdf67d957848fdfc37 |
|
BLAKE2b-256 | 9a6d4dc2ff41832753dc21ec17dd780747a8435fcb128fd611ae79e057479350 |
Close
Hashes for selectolax-0.2.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35cfca1271728f9c2e1635c6b926b810810076f2e556ceb4f777bcc28bf9e438 |
|
MD5 | 709ab5edb3bd1caa047812c66a903301 |
|
BLAKE2b-256 | 7ad11177224d687a9554951735b4ddf540b0514ccc04401d8764030e9f22e22c |
Close
Hashes for selectolax-0.2.7-cp38-cp38-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 819e3bcab211d6325433c1be59405508b09a1acb3ff66607639941e6b1cb177f |
|
MD5 | 99f50e418a1136b77954c5baea50f211 |
|
BLAKE2b-256 | 4cc63219a8075f8ff03c5b92eef40dc05c667abcc233a9c93723e1fd2f33d5c0 |
Close
Hashes for selectolax-0.2.7-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48fd4d0178dc400fbad8cfd1484060f33bbd3dbfae49c83b035d5092097041f1 |
|
MD5 | d3dc0d331f33a47512e624624eb7d254 |
|
BLAKE2b-256 | 6894b1ed5cc5563a161f4eedab46ddf97ce42f6ef0809bdb7ba87c97c05b64a3 |
Close
Hashes for selectolax-0.2.7-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4be80f07819480fe8734d5ef428688813785dce0c956c9e1692d30f90261409 |
|
MD5 | a31be24ffb365f4b75f43261d8e92f83 |
|
BLAKE2b-256 | bf99cf033344b8f4da61f5675f00b2384f94f2eebae2f982133c706576783447 |
Close
Hashes for selectolax-0.2.7-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18e3735cb2f4800225e445f92704f0da1ab78f5483b483935e6f7667c342ae84 |
|
MD5 | 079a434a932111da9d465e2f67e74110 |
|
BLAKE2b-256 | 65ca39360a5b8d6637044589fe5aeba23dbe34fb0cd513bb92fdd547b8a3989a |
Close
Hashes for selectolax-0.2.7-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eefd18d116222aa086a12c0053ff8bc6dbf68e3938e11ce5e16de14b823ee261 |
|
MD5 | 3ddb5b04958d06c417cb5510fc3cd23c |
|
BLAKE2b-256 | d2ba81b0de2e544cb14b9de6565e68e99d44d200572400f78c7e3f4f65cb02ab |
Close
Hashes for selectolax-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acb2631ef66d0db44a8f728198d740041b889810175b478a38ea2973aed4f484 |
|
MD5 | 52b62a9976de33d6e98f6986b4d850ff |
|
BLAKE2b-256 | 3b3b170c0728e89bd073e0e215d7aed7b9d3e6e8c2e2aac82ccb606c297e7633 |
Close
Hashes for selectolax-0.2.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 057d9927aa1569e527a32cd6918060c6be67c79312bb43cd7350106d43232cec |
|
MD5 | 0646f45994f86c06567e48b25c95a2ed |
|
BLAKE2b-256 | 9d2822c6c2b6846c49e5bd9797161dcf4603cacf1778bb04753e457cdf657114 |
Close
Hashes for selectolax-0.2.7-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fa2cbd5ceae38fc6b573ca7f6c78bbdc05f70b44ab32405317215e25d3ab8d9 |
|
MD5 | 56f5afcab3aaba44ac4decadf83636a6 |
|
BLAKE2b-256 | 92f1877514756dc207fe4a2db24d2047650644dd55b4bc9872c8b721a2cc9713 |
Close
Hashes for selectolax-0.2.7-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ce6bfce6389a69c82c1403c8e039027245acdd1cb25b3feca47176e417830a5 |
|
MD5 | f5685142c722305be8f067f99ad7c20f |
|
BLAKE2b-256 | 1535dc08f4fcb8ab699bf6c8bee72a88e5579ffae0c3f2ba20d59581fa7f7d5f |
Close
Hashes for selectolax-0.2.7-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 186f61e06da891dab30a8104fe5686ed28d208ab23b565064fdf1b942fa9db47 |
|
MD5 | bf3c021db8e56c8b1bd245f44f433cde |
|
BLAKE2b-256 | 77778594d266b68105237258c7c6a7fa59f18d725add82ed528d47a0d5021805 |
Close
Hashes for selectolax-0.2.7-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69fa4e3c667f0edaa63afe0b9ad3fe002c079c2d7a0aef251147734f5fa20cdb |
|
MD5 | c612cdea2820d366bba304a5a50e5188 |
|
BLAKE2b-256 | 300eb29058a0676bbdb3d8f3d2bad0781389fc8804957c84c2b03a9f0f3451ca |
Close
Hashes for selectolax-0.2.7-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b404e5214b4a31031438e6d223e07d73e2602cfda26c641d62810383b5a68a06 |
|
MD5 | e369c8a0d4262759684a1e47468c8a28 |
|
BLAKE2b-256 | 45bcfd3e9e9d16261cf27bc881515cbe0cd884e5747f359082f2ade26d0cbb1f |
Close
Hashes for selectolax-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 59a34bca964a7ebc475b2e751db972065164dc1ea250a0c913ecb2d17c2950f3 |
|
MD5 | 30d828419fafe6ae7c5bbb0aad6ed7cd |
|
BLAKE2b-256 | 97848e1a9dc6ef1a661a08f40fa83adb7ae28688e5cb185d9dec8780a6ee5c9c |
Close
Hashes for selectolax-0.2.7-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a92a464dd72c93d361dcb6902a210f52b11e356e5330982632765a5f6287f0fb |
|
MD5 | fdbb43760d877c400adb31d4d96a37ec |
|
BLAKE2b-256 | 2b5b6133d9eb218c257d9eefab03d093680c861babbd0a195bcdb3b6285d42c1 |
Close
Hashes for selectolax-0.2.7-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7423cb0612ef85228c76d02d4fed8a014514b1d5878fe5d8e1c781fdcb736eb3 |
|
MD5 | cbcde52d461d0b30b2ba4e03a56ff68f |
|
BLAKE2b-256 | 486cfb935adb976a15a4b1220295f1653bdd4fc5e866be28cb6ad5345b4608a3 |
Close
Hashes for selectolax-0.2.7-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6d67ca7c0d9f64d20db61b11ee47d983c179d62f10700dd9b3d252835d967b7 |
|
MD5 | d6859e97009e2e8d3e4898867aeafc9b |
|
BLAKE2b-256 | bf90de34a0f289ff281b88fb707840fd5f59c8ff77905c12bb99f921e5a1672c |
Close
Hashes for selectolax-0.2.7-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ba4c592690ed8eb244e61331b2be4ab7d3f581c0da4a357c2f423083e10da75 |
|
MD5 | 7573ba59c70669e752f9b7d7c1a09028 |
|
BLAKE2b-256 | 9fbb0785cb37844b5991c2e6accf1112311aa38cead2b562c09ef935dbece046 |
Close
Hashes for selectolax-0.2.7-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c13cad2b46eafcc56af8fca9db907d6b637e1a8e26dee9627fa5b8d61bff156 |
|
MD5 | 1fd307c263d9aa277a77da945d0979ed |
|
BLAKE2b-256 | e3c2e3f621aadc86b6856f5303696da9d497249c937537bdf4da6815f776a307 |
Close
Hashes for selectolax-0.2.7-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcf74b8372965caca303558e16ac4a267783f309a0c3692b5f9477b3039425ed |
|
MD5 | ac7836e0baa96858086f7246c92eb29d |
|
BLAKE2b-256 | c63eaa9eeeea2c658b5a2f768273e024aef4b7bce79cc7f4b83e436556073ca2 |
Close
Hashes for selectolax-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c412b6dfc31357ee2ed81e83ae657ac257296a320de41204b2bc1ba9ee21130 |
|
MD5 | 79b43e57816d8ee14e3e095b39c14325 |
|
BLAKE2b-256 | e6d63ac4a6277af8cf03f3a3618ff76af68d85dec7b0c75d9ab2fbcc685a0b26 |
Close
Hashes for selectolax-0.2.7-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76906d0408ba2b957075ae4d80df806f34aa80c7c7628324c27006a9e4cb84fd |
|
MD5 | b8046556956e21f124c1b2b69af9d10a |
|
BLAKE2b-256 | 4091c67ee9b0b3c9949ff45d610e2fefab80e4fb895e3c2d462692eb950bfa5d |
Close
Hashes for selectolax-0.2.7-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 538552963d758818c08e1be7bebcbd1170b5f4e00dc13efb775c17474c14245c |
|
MD5 | ef0e93d2b01cc88a7bbd07620b330a4b |
|
BLAKE2b-256 | 454c749209693ad56b3a92b1b26f5ee79f3cfac31a208db4b30c94c35d9cb3c5 |
Close
Hashes for selectolax-0.2.7-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa6dda69c3d51446a56a4b5e9fe54f8e60dbbc7eb0a1555517f692d79dbe6e5a |
|
MD5 | 74db525d2cd6fdeabc8914d9fd760ec5 |
|
BLAKE2b-256 | cfeb61d4852d8c9fdd49992a0a02ac258c8ce8b5c6ad58cae95aca6df33d3316 |
Close
Hashes for selectolax-0.2.7-cp35-cp35m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37e4d6ad3f8d802583bb1959c786bdd5c17aa1b06cc3fab345e081da76bf62f2 |
|
MD5 | b68f3fa09d89e9ea1e2b16da99afd491 |
|
BLAKE2b-256 | 7367701580d4c11d0450027892593a8ebec878415d8f3c77d1514783f428641c |
Close
Hashes for selectolax-0.2.7-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 937474aecfdbb644bfdda061b2a63305cc089473dd66792e07289db834916478 |
|
MD5 | 79b9726f0c3d115541bbd067438105dd |
|
BLAKE2b-256 | de9ac71e17f10208b161ff4c9000b51cd592de3fe2d40540231bfe4d0a0a42e6 |
Close
Hashes for selectolax-0.2.7-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f19620d7bea532ae3e1b2bc0dfd63704f7f549bcfe2cce104553d5322558dc8 |
|
MD5 | d34e02abd87e4417e65ebaa333d85c3a |
|
BLAKE2b-256 | 21d80d9d0e5238543148b39cced19aecd0c4d902276346e2e3f2a5ec412bc01d |
Close
Hashes for selectolax-0.2.7-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c1d4cc2228a82d5568004b039fd37cb072a22dace9f271d6429adff3a777ac1 |
|
MD5 | 62f69a047fc71319ff97f65520e284c1 |
|
BLAKE2b-256 | 38d0541c2ddd4876ec87a0ea68ee1cffa62d7b8cc1e16032cd2b674fca7dc14d |