myreadingmanga-unofficial
Version:
MyReadingManga WebCrawler. Find By Languages, Genres and Tags.
51 lines (45 loc) • 1.55 kB
JavaScript
const readline = require('readline-sync')
const state = require('./state.js')
const axios = require('axios')
const JSSoup = require('jssoup').default
async function robot() {
const { data } = await axios.get('https://myreadingmanga.info')
const soup = new JSSoup(data)
soup.prettify()
const languages = await getLanguages()
const genres = await getGenres()
const tags = await getTags()
const content = { languages, genres, tags }
state.save(content)
async function getLanguages() {
const languagesContainer = soup.findAll('section')
const a_html = languagesContainer[4].findAll('a')
const languages = a_html.map(language => {
const title = language.text;
const url = language.attrs.href
return { title, url }
})
return languages
}
async function getGenres() {
const genresContainer = soup.findAll('section')
const a_html = genresContainer[5].findAll('a')
const genres = a_html.map(genre => {
const title = genre.text;
const url = genre.attrs.href
return { title, url }
})
return genres
}
async function getTags() {
const tagsContainer = soup.findAll('section')
const a_html = tagsContainer[6].findAll('a')
const tags = a_html.map(tag => {
const title = tag.text;
const url = tag.attrs.href
return { title, url }
})
return tags
}
}
module.exports = robot