Skip to content

Update PimpBunny scraper for onlyfans-creators URLs and current markup - #2761

Open
bebert64 wants to merge 6 commits into
stashapp:masterfrom
bebert64:add-pimpbunny-performer-scraper
Open

Update PimpBunny scraper for onlyfans-creators URLs and current markup#2761
bebert64 wants to merge 6 commits into
stashapp:masterfrom
bebert64:add-pimpbunny-performer-scraper

Conversation

@bebert64

@bebert64 bebert64 commented May 27, 2026

Copy link
Copy Markdown
Contributor

Scraper type(s)

  • performerByName
  • performerByFragment
  • performerByURL
  • sceneByName
  • sceneByQueryFragment
  • sceneByFragment
  • sceneByURL
  • groupByURL
  • galleryByFragment
  • galleryByURL
  • imageByFragment
  • imageByURL

Examples to test

sceneByURL

performerByURL

Short description

Update PimpBunny for current site markup:

  • Performer URLs: onlyfans-modelsonlyfans-creators
  • Performer fields: bio, thumbnail, top-list tags, social URLs (+ og:url fallback), keyword aliases
  • Scene tags: pages-view-video-tagspages-view-video-categories
  • Scene details: add description scraping; fix invalid [normalize-space()] xpath
  • Tag selectors: use //a form consistent with other scrapers

bebert64 and others added 6 commits May 27, 2026 22:13
Use og:* meta tags and h1 for stable performer metadata on public profile pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
Point performer URLs at onlyfans-creators, refresh XPath selectors against live pages, fix scene tags, and add performer details and aliases.

Co-authored-by: Cursor <cursoragent@cursor.com>
The video title is rendered as a div with pages-view-video-video-title, not an h1.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use explicit /text() selectors for performer and scene tags, and scrape scene description from the page body with og:description fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
Remove invalid [normalize-space()] predicate that broke scene details in Stash's xpath engine, and use //a for tag names like other community scrapers.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Maista6969
Maista6969 force-pushed the master branch 2 times, most recently from acb310b to cd51adb Compare July 9, 2026 18:16
@Maista6969
Maista6969 force-pushed the master branch 2 times, most recently from 5ccd388 to 5cc85be Compare September 1, 2026 14:45
@DongRay1009

Copy link
Copy Markdown

I ran into the same missing-Title symptom and independently verified this fix against a live page, so here's a confirmation plus the exact root cause.

Test URL: https://pimpbunny.com/videos/kacey-kayy-s-hunting-blind-jerk-off-instructions

The relevant DOM is:

<div class="ui-heading-root__ZH7pFC ui-heading-h1__0HdXaM pages-view-video-video-title__9lYVyi">

So the failure is the element tag, not the class name. pages-view-video-video-title is still there — it just gained a CSS-modules hash suffix (__9lYVyi), which contains() matches fine. But the element is a <div> now rather than <h1>, so the current //h1[contains(@class, "pages-view-video-video-title")] matches nothing. Widening it to //*[contains(@class, "pages-view-video-video-title")] is the correct minimal fix.

One extra data point in case it's useful: //meta[@property="og:title"]/@content also resolves to the clean title on this page (no | PimpBunny suffix, no post-processing needed), which would additionally survive future markup changes. Not requesting a change — //*[...] works, just noting the option.

Either way this unblocks Title. Thanks for putting the PR together.

Note: I also needed the onlyfans-creators performer path change — model pages no longer resolve under onlyfans-models.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants