Separated release and actor scrapers into modules. Fixed Dorcel profile search.

This commit is contained in:
DebaucheryLibrarian
2026-01-19 01:54:44 +01:00
parent 763a913be6
commit ff360423f6
5 changed files with 482 additions and 407 deletions

View File

@@ -3,6 +3,8 @@
const unprint = require('unprint');
const cookie = require('cookie');
const slugify = require('../utils/slugify');
function extractSources(sources) {
if (sources?.length > 0) {
return sources
@@ -237,8 +239,9 @@ async function getActorUrl(baseActor, entity) {
// URL slugs are unpredictable: /jessie-volt, /aleska_diamond, /liza-del_sierra
// AJAX API at /search/ajax/display doesn't actually return results unless an actor ID is passed
const searchRes = await unprint.post(`${entity.url}/en/search`, new URLSearchParams({ s: baseActor.name }), {
const searchRes = await unprint.post(`${entity.url}/en/search`, { s: baseActor.name }, {
selectAll: '#search .actor',
form: true,
headers: {
// 'Content-Type': 'application/x-www-form-urlencoded; charset=utf-8',
'Accept-Language': 'en-US,en',
@@ -249,7 +252,7 @@ async function getActorUrl(baseActor, entity) {
return searchRes.status;
}
const actorItem = searchRes.context.find(({ query }) => query.content('.name') === baseActor.name);
const actorItem = searchRes.context.find(({ query }) => slugify(query.content('.name')) === baseActor.slug);
if (!actorItem) {
return null;