+ Started work on rule34.xxx module
This commit is contained in:
parent
7f81364ecb
commit
11224096f9
|
@ -1,4 +1,9 @@
|
||||||
{
|
{
|
||||||
|
"author": {
|
||||||
|
"email": "contact@justkato.me",
|
||||||
|
"name": "Kato Twofold",
|
||||||
|
"url": "https://justkato.me/"
|
||||||
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/commander": "^2.12.2",
|
"@types/commander": "^2.12.2",
|
||||||
"axios": "^0.23.0",
|
"axios": "^0.23.0",
|
||||||
|
@ -9,5 +14,8 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^16.11.1",
|
"@types/node": "^16.11.1",
|
||||||
"@types/yargs": "^17.0.4"
|
"@types/yargs": "^17.0.4"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"test": "tsc && node dist/test.js"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,9 +0,0 @@
|
||||||
interface Tag {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
interface Post {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,20 +1,31 @@
|
||||||
|
import {Post, Tag} from "../type/generic";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The base class of the scrappers, any of the website scrappers must extend this class
|
* The base class of the scrappers, any of the website scrappers must extend this class
|
||||||
*/
|
*/
|
||||||
class Scrapper {
|
export class Scrapper {
|
||||||
|
|
||||||
|
constructor(domain: string) {
|
||||||
|
// Set the domain
|
||||||
|
this.domain = domain;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An array of all of the logs
|
* An array of all of the logs
|
||||||
*/
|
*/
|
||||||
public logs: Array<any> = [];
|
public logs: Array<any> = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The fully qualified domain of the website to scrap, for example "rule34.life"
|
||||||
|
*/
|
||||||
|
public domain: string = ``;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the details of a specific post
|
* Get the details of a specific post
|
||||||
* @param url The URL to the post, this must be the actual page which contains the image, tags, etc...
|
* @param url The URL to the post, this must be the actual page which contains the image, tags, etc...
|
||||||
*/
|
*/
|
||||||
public async getPostDetails( url: string ): Promise<any> {
|
public async getPostDetails( url: string ): Promise<Post | null> {
|
||||||
return {};
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -22,7 +33,7 @@ class Scrapper {
|
||||||
* @param url
|
* @param url
|
||||||
* @returns
|
* @returns
|
||||||
*/
|
*/
|
||||||
public async getPostsFrompage( url: string ): Promise<any> {
|
public async getPostsFromPage( url: string ): Promise<Array<Post>> {
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
import {Post, Tag} from "../type/generic";
|
||||||
|
import {Scrapper} from "../class/Scrapper";
|
||||||
|
|
||||||
|
class Rule34xxx extends Scrapper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the details of a specific post
|
||||||
|
* @param url The URL to the post, this must be the actual page which contains the image, tags, etc...
|
||||||
|
*/
|
||||||
|
public async getPostDetails( url: string ): Promise<Post | null> {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1 +1,2 @@
|
||||||
// This is the test file for the library, different tests are ran in here.
|
// This is the test file for the library, different tests are ran in here.
|
||||||
|
console.log(`Working I guess`);
|
|
@ -0,0 +1,38 @@
|
||||||
|
export interface Tag {
|
||||||
|
/**
|
||||||
|
* The slug of the tag, this usually looks something like: hand_holding
|
||||||
|
*/
|
||||||
|
slug: string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An optional type of the tag
|
||||||
|
*/
|
||||||
|
type?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Post {
|
||||||
|
/**
|
||||||
|
* URL to the original post link
|
||||||
|
*/
|
||||||
|
url?: string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A link to the full resolution image or video
|
||||||
|
*/
|
||||||
|
contentURL: string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The optional link for the source of the image
|
||||||
|
*/
|
||||||
|
source?: string,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A list of all of the tags the post has
|
||||||
|
*/
|
||||||
|
tags: Array<Tag>,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The date of the post's creation
|
||||||
|
*/
|
||||||
|
ts?: string,
|
||||||
|
}
|
Reference in New Issue