Bugfix
parent
d335f192cd
commit
c88c9720a2
|
@ -122,7 +122,7 @@ module.exports.getGameData = async function (name, mod) {
|
|||
const results = [];
|
||||
for (const url of urls) {
|
||||
// Start looking for information
|
||||
const info = scraper.getGameInfo(url);
|
||||
const info = await scraper.getGameInfo(url);
|
||||
results.push(info);
|
||||
}
|
||||
return results;
|
||||
|
|
|
@ -305,10 +305,11 @@ function extractStructuredData(body) {
|
|||
* Different processing depending on whether the game is a mod or not.
|
||||
* @param {String} text Structured text extracted from the game's web page
|
||||
* @param {Boolean} mod Specify if it is a game or a mod
|
||||
* @returns {Promise<String>} Game description
|
||||
* @returns {String} Game description
|
||||
*/
|
||||
function getOverview(text, mod) {
|
||||
shared.logger.trace("Extracting game overview...");
|
||||
|
||||
// Get overview (different parsing for game and mod)
|
||||
const overviewEndIndex = mod ? text.indexOf("Updated") : text.indexOf("Thread Updated");
|
||||
return text.substring(0, overviewEndIndex).replace("Overview:\n", "").trim();
|
||||
|
|
|
@ -4,58 +4,46 @@
|
|||
const dotenv = require("dotenv");
|
||||
|
||||
// Modules from file
|
||||
const searcher = require("../app/scripts/searcher.js");
|
||||
const scraper = require("../app/scripts/scraper.js");
|
||||
const Credentials = require("../app/scripts/classes/credentials.js");
|
||||
const networkHelper = require("../app/scripts/network-helper.js");
|
||||
const uScraper = require("../app/scripts/user-scraper.js");
|
||||
const F95API = require("../app/index.js");
|
||||
|
||||
// Configure the .env reader
|
||||
dotenv.config();
|
||||
|
||||
// Login
|
||||
auth().then(async function searchGames(result) {
|
||||
if(!result) return;
|
||||
|
||||
console.log("Fetching user data...");
|
||||
const userdata = await uScraper.getUserData();
|
||||
console.log(`${userdata.username} follows ${userdata.watchedThreads.length} threads`);
|
||||
main();
|
||||
|
||||
// Search for Kingdom Of Deception data
|
||||
await search("kingdom of deception");
|
||||
|
||||
// Search for Perverted Education data
|
||||
await search("perverted education");
|
||||
|
||||
// Search for Corrupted Kingdoms data
|
||||
await search("corrupted kingdoms");
|
||||
|
||||
// Search for Summertime Saga data
|
||||
await search("summertime saga");
|
||||
});
|
||||
|
||||
async function auth() {
|
||||
console.log("Token fetch...");
|
||||
const creds = new Credentials(process.env.F95_USERNAME, process.env.F95_PASSWORD);
|
||||
await creds.fetchToken();
|
||||
console.log(`Token obtained: ${creds.token}`);
|
||||
async function main() {
|
||||
// Local variables
|
||||
const gameList = [
|
||||
"kingdom of deception",
|
||||
"perverted education",
|
||||
"corrupted kingdoms",
|
||||
"summertime saga",
|
||||
"brothel king"
|
||||
];
|
||||
|
||||
// Log in the platform
|
||||
console.log("Authenticating...");
|
||||
const result = await networkHelper.autenticate(creds);
|
||||
const result = await F95API.login(process.env.F95_USERNAME, process.env.F95_PASSWORD);
|
||||
console.log(`Authentication result: ${result.message}`);
|
||||
|
||||
return result.success;
|
||||
}
|
||||
// Get user data
|
||||
console.log("Fetching user data...");
|
||||
const userdata = await F95API.getUserData();
|
||||
console.log(`${userdata.username} follows ${userdata.watchedThreads.length} threads`);
|
||||
|
||||
async function search(gamename) {
|
||||
for(const gamename of gameList) {
|
||||
console.log(`Searching '${gamename}'...`);
|
||||
const urls = await searcher.searchGame(gamename);
|
||||
console.log(`Found: ${urls}`);
|
||||
const found = await F95API.getGameData(gamename, false);
|
||||
|
||||
console.log("Scraping data...");
|
||||
for (const url of urls) {
|
||||
const gamedata = await scraper.getGameInfo(url);
|
||||
// If no game is found
|
||||
if (found.length === 0) {
|
||||
console.log(`No data found for '${gamename}'`);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Extract first game
|
||||
const gamedata = found[0];
|
||||
console.log(`Found ${gamedata.name} (${gamedata.version}) by ${gamedata.author}`);
|
||||
}
|
||||
console.log("Scraping completed!");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue