Fast HTML5 CSS selector.
Project description
A fast HTML5 parser and 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.3.tar.gz
(1.3 MB
view hashes)
Built Distributions
selectolax-0.2.3-cp37-cp37m-win32.whl
(513.0 kB
view hashes)
selectolax-0.2.3-cp36-cp36m-win32.whl
(513.2 kB
view hashes)
selectolax-0.2.3-cp35-cp35m-win32.whl
(511.3 kB
view hashes)
Close
Hashes for selectolax-0.2.3-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc1b06c93ab377b771f116e08fc80c3960fb16195fa7b9c598df0ac0cbf6b92d |
|
MD5 | e35cb67be3a702d10f915dc8b67e7640 |
|
BLAKE2b-256 | 8648c69731a446919b3d3208e67a55851d855151ad1d20c65fc49f3edd807bbe |
Close
Hashes for selectolax-0.2.3-cp38-cp38-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7acfd77876647c14b1545593d190cf822b48b0e0a529557bb95569270f1d9430 |
|
MD5 | 5696b7617aa24eec6149bca580828a24 |
|
BLAKE2b-256 | a125c2cc6d51afd7e34180a6bee85f3619b9618e5cdbf45df1fdfb9ea8d5ddec |
Close
Hashes for selectolax-0.2.3-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f9f25a03f674b52211246e8ddc12a563b71e524c0b62abcbf2fe7140f9d2b6f |
|
MD5 | b86631f4ad48aaa7a6acb04c317fcbda |
|
BLAKE2b-256 | fb289ec65421404e4acb537668ddbde7e4e17970a91a67f25a6f929dba1d051c |
Close
Hashes for selectolax-0.2.3-cp38-cp38-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c17bcb50bf59e6f7715eef797f5ecf0af2aa21ee6c49c403d41e9060820d267 |
|
MD5 | 1928f37ac7dc1400ad7d3a1d51260b72 |
|
BLAKE2b-256 | 1c1ef05fccaa5c85d67005904ac8b1f2998d1cb41ea488375ad9435792a957ce |
Close
Hashes for selectolax-0.2.3-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b59cf36e44893fd660965ed11f681066d12a7e3a0c6318a38c62a626baee5aa5 |
|
MD5 | 79ff33156ebf7ad38fa96ea5a5bcf83d |
|
BLAKE2b-256 | 626a7f81b15d2737a9a58da029da96eb148c225ad7152a441e5966f26de21343 |
Close
Hashes for selectolax-0.2.3-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61cdbc6c412d5e99b9d6198a93c89e67bc91790bd9e7d412e2c85ac5ba66aee8 |
|
MD5 | 1cbdcbeaa0350a8ec89a988ab847d505 |
|
BLAKE2b-256 | 259a5f709086f131f894d432f9e726636610359eafdcc2639dccad157fe4d7cb |
Close
Hashes for selectolax-0.2.3-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c54ad68adfc85c38141d9d83eb993c580bfa539a7ce4973ee6dc1e5e6b608bee |
|
MD5 | 7ca71ad7139ac54b77d88fca7415418d |
|
BLAKE2b-256 | 844cd1939674c6f0b36f27873c317425f56c4ab6db3138116b773dfb21de0f4f |
Close
Hashes for selectolax-0.2.3-cp37-cp37m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb9ad4921e1e62b2f322a40040ca21060bfbbc98f5afc3a9dbd57e9440093db2 |
|
MD5 | ac08afcd1d05e0169cdcdc2c431f64d8 |
|
BLAKE2b-256 | 01e48b40d9c833e9d3ef6321c6d9bd26a669ff27c76e6d20170c5d63b68642d5 |
Close
Hashes for selectolax-0.2.3-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfdb1956f9376243972f84e63a1a6dfc156352ff4ab24aff44fa7619345c949f |
|
MD5 | e3fa805d3a9f195841f2ef0fa3aefa5f |
|
BLAKE2b-256 | decb2a87f120498e7afb0aa96b2cefa243507de8952a1ca1c45843d3cfa90c09 |
Close
Hashes for selectolax-0.2.3-cp37-cp37m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 650fd170d69fc91346d8650bab1cecef5f5159a8b651e0d33bced92095a17330 |
|
MD5 | d4540aa7f3aab30f33496c5377b8e935 |
|
BLAKE2b-256 | bcb18c5d86e0b45fa9f010aec9f170bb69d5f3ebafaa5edd895b69976cc1e725 |
Close
Hashes for selectolax-0.2.3-cp37-cp37m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5f80dfc56374fec61e0c4168d16c30c05f13757b67ae0b77509e3007a18ac1e |
|
MD5 | 5c40cc47cd29b525a6e0f876cb08e3e2 |
|
BLAKE2b-256 | 74e8ea9f2bf27c9ddb8c8ac5936a69cb3c3126f299c87a5d9d43fa817bd01f88 |
Close
Hashes for selectolax-0.2.3-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6bd8e13237c79d8b93ff97e376c5bc4bc58c2f7d10fd1fa23bd558a3b890da8 |
|
MD5 | 384a0efd338176302ae8e69df08cc662 |
|
BLAKE2b-256 | 85fd5cc3cdb200088244bc6396009f066041e4ba7a14d603de1f0ad2cec8ce26 |
Close
Hashes for selectolax-0.2.3-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a23e225b60cab1318c270ccb34c9c1112e8cd02b7fee267ab7d0846bf1bb33c4 |
|
MD5 | f4d55172edce130e037246691ce61282 |
|
BLAKE2b-256 | 7a5f03088dfd92ffc93337c5f7665975d1fc0faaa4ed02b835105c6f08c74746 |
Close
Hashes for selectolax-0.2.3-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11bf9e9888bb8c2afc94efd6b34d4a84dbf40487fcce32ef49c8eb9206456389 |
|
MD5 | 6c6bdb24e91193b053c6c6878b245253 |
|
BLAKE2b-256 | b96dad7ae4b4be8d43799019d5d4312b82cddf2540bc4334be6c327d8d7dc6c4 |
Close
Hashes for selectolax-0.2.3-cp36-cp36m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a14eb8f5aac3a129d1444eb07d54aa7db6593985a6b63e6c4e20164b46942e25 |
|
MD5 | 4893e91c8d8f4f0de7b0e0d3ad571791 |
|
BLAKE2b-256 | acccb37c05f1bc7185aba09fe2fdec546ed44738a250c4a67af28154bc0cdca7 |
Close
Hashes for selectolax-0.2.3-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56e9cc280ff96747c61c30f87fea49ecebf75f55e2d739aed7dae0b543723475 |
|
MD5 | c68f239641957e6dc94793b9e2b024ef |
|
BLAKE2b-256 | cd19746f917dca91c101442cccdf599c955b177b5994d3bda22ccee12f103f6a |
Close
Hashes for selectolax-0.2.3-cp36-cp36m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 063a54eacf549e33cc0bc3bcc23da8b4841c6fc6450f3a85af02588f8601bd2c |
|
MD5 | bbe4cacb4274b110271a065976cb667e |
|
BLAKE2b-256 | 2e8b29fc823b7e74e993b546f7e5cef53ec230c37a9367d4c1b0c7091c36a77c |
Close
Hashes for selectolax-0.2.3-cp36-cp36m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29a46f7cd2673160fc087ee95ced681edd80c59af13dbefe454e79a847c3fa6e |
|
MD5 | c1df9794b9e2bb48a2de5f7f74ad619d |
|
BLAKE2b-256 | 02aded17367bb6a56b212eed8dc9f464bf0aaab83dee555c679281824eb236fc |
Close
Hashes for selectolax-0.2.3-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75b7594a2a191a3f6f9818c772dbde0509bfeeb784fb3caff276215fc123eee2 |
|
MD5 | d66757930d098fa59904501493bb8a89 |
|
BLAKE2b-256 | 3fc571ac0cad29c64d005cff0f9d9b1906ca8bcd589302aa3f1c2cbdddd76b7a |
Close
Hashes for selectolax-0.2.3-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20a0f488893dc53d86894857b35e893495f34fb78231a8a47326794e9f19542e |
|
MD5 | 1becf84ae4c4b2f0d21a9f0df3d7175d |
|
BLAKE2b-256 | 6ba8f91ed5b2eb0cb688466bbcfa4c2473eb53f88c21598eb1574cca65f1221b |
Close
Hashes for selectolax-0.2.3-cp35-cp35m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfc9476e81c73d60dca637abdde5fd6f21d9b65ab589599ee9a5be573c565eb6 |
|
MD5 | a0c8098829f7877826722746cee16d17 |
|
BLAKE2b-256 | faa42359246839ad04d3d67ea033d924724ffec6bc085d8644d8b80c3cec200f |
Close
Hashes for selectolax-0.2.3-cp35-cp35m-manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a7393fad51729621486ec9d479dbc84b73cba3472db839722df814ed8f933cc |
|
MD5 | 4d640aca7999c3d4b8c333687d1a86dd |
|
BLAKE2b-256 | e17725fd538ec73fdfa58397a298126388eea67690c44b9432c9963dc46f1124 |
Close
Hashes for selectolax-0.2.3-cp35-cp35m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35a383f8bc24392287030788b5161de3550ba2f052cf5603f08a531c2aeeac93 |
|
MD5 | 282d69406318495ad34757abb6065a80 |
|
BLAKE2b-256 | 0ad334fb867d17f6f80f0694a3344ea6dd0f3d673896787b7280fb3f55995fa1 |
Close
Hashes for selectolax-0.2.3-cp35-cp35m-manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e924d5dcfd14dc1ad77f9f15884662e2e5b2f1f60fd6f0a239a6011b8a85bcf |
|
MD5 | 125360576f7de9ce156d2e6648b71007 |
|
BLAKE2b-256 | b29e6198a8671a2db6da632c503464e72679c6afa076356cda3ec61eb604d466 |
Close
Hashes for selectolax-0.2.3-cp35-cp35m-macosx_10_6_intel.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e1bc35e3e4166ac7945455a1874db99dd2d35d547f5c320a8ac83fd0509049c |
|
MD5 | 50d5c5b87a1a0e1ca11c8dde2e750a5c |
|
BLAKE2b-256 | d6da81e94d3bca6404c22068bf1984935e9f77c352093d74696c2e71a44b3a1f |