Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: proper null type for video, assets and slice slash on fetchBody #4

Merged
merged 6 commits into from
Apr 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lustpress",
"version": "1.6.1-alpha",
"version": "1.6.2-alpha",
"description": "RESTful and experimental API for PornHub and other porn sites, which official is lack even isn't exist.",
"main": "build/src/index.js",
"scripts": {
Expand Down
1 change: 1 addition & 0 deletions src/LustPress.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ class LustPress {
return res.body;
} else {
console.log("Fetching from source");
url = url.replace(/\/\//g, "/");
const res = await p({
url: url,
"headers": {
Expand Down
3 changes: 2 additions & 1 deletion src/scraper/xhamster/xhamsterSearchController.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { load } from "cheerio";
import LustPress from "../../LustPress";
import c from "../../utils/options";
import { ISearchVideoData } from "../../interfaces";

const lust = new LustPress();
Expand Down Expand Up @@ -33,7 +34,7 @@ export async function scrapeContent(url: string) {
image: $(el).find("img").attr("src"),
duration: duration[i],
views: views[i],
video: $(el).attr("data-previewvideo"),
video: `${c.XHAMSTER}/embed/${link?.split("-").pop()}`
};
}).get();
}
Expand Down
6 changes: 4 additions & 2 deletions src/scraper/xnxx/xnxxGetController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ const lust = new LustPress();

export async function scrapeContent(url: string) {
try {
console.log(url);
const resolve = await lust.fetchBody(url);
const $ = load(resolve);

Expand All @@ -27,6 +26,7 @@ export async function scrapeContent(url: string) {
thumbnail: string;
bigimg: string;
video: string;
embed: string;
constructor() {
const thumb = $("script")
.map((i, el) => {
Expand Down Expand Up @@ -69,6 +69,8 @@ export async function scrapeContent(url: string) {
.map((i, el) => {
return $(el).text();
}).get();
this.embed = $("input#copy-video-embed").attr("value") || "None";
this.embed = this.embed.split("iframe")[1].split(" ")[1].replace(/src=/g, "").replace(/"/g, "") || "None";

}
}
Expand All @@ -91,7 +93,7 @@ export async function scrapeContent(url: string) {
tags: x.tags.filter((el) => el !== "Edit tags and models")
},
source: x.link,
assets: lust.removeAllSingleQuoteOnArray([x.thumbnail, x.bigimg, x.video])
assets: lust.removeAllSingleQuoteOnArray([x.embed, x.thumbnail, x.bigimg, x.video])
};
return data;

Expand Down
5 changes: 3 additions & 2 deletions src/scraper/xnxx/xnxxGetRelatedController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,16 @@ export async function scrapeContent(url: string) {
//stop and replace everything after the last ];
const badJson = video_related?.split("];")[0] + "]";
const actualResult = JSON.parse(String(badJson));
//console.log(actualResult);
const result = actualResult.map((el: any) => {
return {
link: `${c.XNXX}${el.u}`,
id: el.u,
id: el.u.slice(1, -1),
title: el.t,
image: el.i,
duration: el.d,
views: `${el.n}, ${el.r}`,
video: null
video: `${c.XNXX}/embedframe/${el.id}`
};
});
return result;
Expand Down
6 changes: 3 additions & 3 deletions src/scraper/xnxx/xnxxSearchController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,16 @@ export async function scrapeContent(url: string) {
.map((i, el) => {
return {
link: `${c.XNXX}${$(el).find("a").attr("href")}`,
id: $(el).find("a").attr("href"),
// remove first "/" and last "/"
id: $(el).find("a").attr("href")?.slice(1, -1),
title: $(el).find("div.thumb-under").text().split("\n")
.map((el) => el.trim()).filter((el) => el !== "")[0],
image: $(el).find("img").attr("data-src"),
duration: $(el).find("div.thumb-under").text().split("\n")
.map((el) => el.trim()).filter((el) => el !== "")[2],
rating: $(el).find("div.thumb-under").text().split("\n")
.map((el) => el.trim()).filter((el) => el !== "")[1],
video: null

video: `${c.XNXX}/embedframe/${$(el).find("img").attr("data-videoid")}`
};
}).get();
}
Expand Down
6 changes: 4 additions & 2 deletions src/scraper/xvideos/xvideosGetController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ export async function scrapeContent(url: string) {
models: string[];
thumbnail: string;
bigimg: string;
embed: string;
constructor() {
this.link = $("meta[property='og:url']").attr("content") || "None";
this.id = this.link.split("/")[3] + "/" + this.link.split("/")[4] || "None";
Expand Down Expand Up @@ -60,7 +61,8 @@ export async function scrapeContent(url: string) {
}
).get();
this.models = this.models.map((el) => el.split("/")[2]);

this.embed = $("input#copy-video-embed").attr("value") || "None";
this.embed = this.embed.split("iframe")[1].split(" ")[1].replace(/src=/g, "").replace(/"/g, "") || "None";
}
}

Expand All @@ -81,7 +83,7 @@ export async function scrapeContent(url: string) {
tags: xv.tags,
},
source: xv.link,
assets: lust.removeAllSingleQuoteOnArray([xv.thumbnail, xv.bigimg, xv.video])
assets: lust.removeAllSingleQuoteOnArray([xv.embed, xv.thumbnail, xv.bigimg, xv.video])
};
return data;

Expand Down
5 changes: 2 additions & 3 deletions src/scraper/xvideos/xvideosGetRelatedController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ export async function scrapeContent(url: string) {
try {
const res = await lust.fetchBody(url);
const $ = load(res);
console.log(url);

class XvideosSearch {
search: object[];
Expand All @@ -24,12 +23,12 @@ export async function scrapeContent(url: string) {
const result = actualResult.map((el: any) => {
return {
link: `${c.XVIDEOS}${el.u}`,
id: el.u,
id: el.u.slice(1, -1),
title: el.t,
image: el.i,
duration: el.d,
views: `${el.n}, ${el.r}`,
video: null
video: `${c.XVIDEOS}/embedframe/${el.id}`
};
});
return result;
Expand Down
3 changes: 1 addition & 2 deletions src/scraper/xvideos/xvideosSearchController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ const lust = new LustPress();

export async function scrapeContent(url: string) {
try {
console.log(url);
const res = await lust.fetchBody(url);
const $ = load(res);

Expand Down Expand Up @@ -36,7 +35,7 @@ export async function scrapeContent(url: string) {
? ""
: data[i].duration || "None",
rating: null,
video: null
video: `${c.XVIDEOS}/embedframe/${$(el).find("img").attr("data-videoid")}`
};
}).get();

Expand Down
4 changes: 2 additions & 2 deletions src/scraper/youporn/youpornGetController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ export async function scrapeContent(url: string) {
rating: string;
publish: string;
upVote: string;
downVote: null;
downVote: string;
video: string;
tags: string[];
models: string[];
Expand All @@ -33,7 +33,7 @@ export async function scrapeContent(url: string) {
this.rating = $("div.feature").find("span").text().replace(/[^0-9.,%]/g, "") || "0";
this.publish = $("div.video-uploaded").find("span").text() || "None";
this.upVote = this.views;
this.downVote = null;
this.downVote = "None";
this.video = `https://www.youporn.com/embed/${this.id}`;
this.tags = $("a[data-espnode='category_tag'], a[data-espnode='porntag_tag']")
.map((i, el) => {
Expand Down
2 changes: 1 addition & 1 deletion src/scraper/youporn/youpornSearchController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export async function scrapeContent(url: string) {
title: lust.removeHtmlTagWithoutSpace(title),
image: image,
duration: this.dur[i],
views: null,
views: "None",
video: `https://www.youporn.com/embed/${id}`,
};
}).get();
Expand Down