Soupy
Soupy is a wrapper around BeautifulSoup that makes it easier to build complex queries when wrangling web data.
Here’s an example of a Soupy query.
from soupy import Soupy, Q
html = """
<div id="main">
<div>The web is messy</div>
and full of traps
<div>but Soupy loves you</div>
</div>"""
print(Soupy(html).find(id='main').children
.each(Q.text.strip()) # extract text from each node, trim whitespace
.filter(len) # remove empty strings
.val()) # dump out of Soupy
# ['The web is messy', 'and full of traps', 'but Soupy loves you']
The same query using BeautifulSoup:
from bs4 import BeautifulSoup, NavigableString
html = """
<div id="main">
<div>The web is messy</div>
and full of traps
<div>but Soupy loves you</div>
</div>"""
result = []
for node in BeautifulSoup(html).find(id='main').children:
if isinstance(node, NavigableString):
text = node.strip()
else:
text = node.text.strip()
if len(text):
result.append(text)
print(result)
For more information, see the Soupy Documentation
Installation
pip install soupy
Dependencies
six and BeautifulSoup4
Soupy is supported on Python 2.6+ and 3.3+
Metadata
Release files for soupy 0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| soupy-0.3.tar.gz | 10.1 kB | Without provenance | Details |
Release files / soupy-0.3.tar.gz
| Download URL | soupy-0.3.tar.gz |
|---|---|
| Size | 10.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a65ab9a2f83827df6e0cb2890c94bac7c847082752ba73c094b11c3213a345eb
|
|
BLAKE2b-256 checksum How to use checksums |
76b0badfa91b5789a8af211e32e9836498cdab749b9ec2dd5346b2349f049d06
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for soupy 0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.