A Python-based tool to scrape and download adult content from various websites straight to your preferred data store. Whether it’s videos, tags, or search results, smutscrape has you covered—discreetly and efficiently. 😈
- Python 3.10+ 🐍
- yt-dlp for video downloads
- Optional: Selenium + Chromedriver for JS-heavy sites (e.g., Motherless) 🧑🏼💻
- Optional: Conda for environment management 🐼
All Python dependencies are in requirements.txt.
-
Clone the Repo 📂
git clone https://github.com/io-flux/smutscrape.git cd smutscrape -
Install Dependencies 🚀
- With Conda (Recommended):
conda create -n smutscrape python=3.10.13 conda activate smutscrape pip install -r requirements.txt
- With pip:
pip3 install -r requirements.txt
For JS-heavy sites, run a Selenium Chrome container:
docker run -d -p 4444:4444 --shm-size=2g --name selenium-chrome selenium/standalone-chrome
- With Conda (Recommended):
-
Configure
config.yaml⚙️cp example-config.yaml config.yaml nano config.yaml
Key sections to tweak:
download_destinations💾 (e.g., local, SMB, WebDAV)ignored🚫 (terms to skip)vpn🤫 (for privacy)chromedriver⚙️ (if using Selenium)
-
Make Executable 🚀
chmod +x scrape.py
-
Optional: Add Symlink 🔗 Run
scrapefrom anywhere:sudo ln -s $(realpath ./scrape.py) /usr/local/bin/scrape
Run with ./scrape.py or just scrape if symlinked.
-
Pornhub: Massy Sweet’s Pornstar Page 🦉🙋🏼♀️
scrape ph pornstar "Massy Sweet" # OR scrape https://www.pornhub.com/pornstar/Massy-Sweet
-
Incestflix: Lily LaBeau + PrimalFetish Videos 👩❤️💋👨🤫
scrape if search "Lily Labeau & PrimalFetish" # OR scrape https://www.incestflix.com/tag/Lily-Labeau/and/PrimalFetish
-
Lonefun: "Real Incest" Tag Results 🧬❣️
scrape lf tag "real incest" # OR scrape https://lonefun.com/@real+incest
-
Motherless: Specific Video 🙊🙈
scrape https://motherless.com/2ABC9F3
For unsupported sites, yt-dlp kicks in as a fallback:
scrape https://someUnsupportedSite.com/video/12345| Site Code | Site | Modes Available |
|---|---|---|
9v |
9vids.com | search, tag |
if |
incestflix.com | search (use & for multi-term) |
lf |
lonefun.com | search, tag |
ml |
motherless.com | search, category, user, group |
ph |
pornhub.com | search, category, channel, model, pornstar |
sb |
spankbang.com | search, model, tag |
triv |
toprealincestvideos.com | search |
Skip unwanted videos by adding terms to ignored in config.yaml:
ignored:
- "JOI"
- "Femdom"
- "Virtual Sex"
- "Scat"Stay anonymous with VPN integration (e.g., ProtonVPN):
vpn:
enabled: true
vpn_bin: "/usr/bin/protonvpn-cli"
start_cmd: "{vpn_bin} connect"
stop_cmd: "{vpn_bin} disconnect"
new_node_cmd: "{vpn_bin} connect --random"
new_node_time: 300 # Reconnect every 5 minutesSet enabled: false to disable.
Prioritize storage options:
download_destinations:
- type: smb
server: "192.168.50.5"
share: "Media"
username: "user"
password: "pass"
- type: local
path: "~/.xxx"The first working destination is used. Remove unused types to avoid errors.
By default, existing files won’t be overwritten unless no_overwrite: false is set in the site’s .yaml config.
You’re on your own with this one. Scrape responsibly! 🧠💭