manganelo

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 23, 2024 License: Unlicense Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Config = &scraper.Configuration{
	Name:            Info.ID,
	Delay:           50 * time.Millisecond,
	ReverseChapters: true,
	BaseURL:         Info.Website,
	GenerateSearchURL: func(baseUrl string, query string) (string, error) {

		u, _ := url.Parse(baseUrl)
		u.Path = fmt.Sprintf("/search/%s", query)

		return u.String(), nil
	},
	MangaExtractor: &scraper.MangaExtractor{
		Selector: "div.search-story-item",
		Title: func(selection *goquery.Selection) string {
			return strings.TrimSpace(selection.Find("a.item-title").Text())
		},
		URL: func(selection *goquery.Selection) string {
			return selection.Find("a.item-title").AttrOr("href", "")
		},
		Cover: func(selection *goquery.Selection) string {
			return selection.Find("a.item-img > img").AttrOr("src", "")
		},
		ID: func(_url string) string {
			return strings.Split(_url, "/")[4]
		},
	},
	VolumeExtractor: &scraper.VolumeExtractor{

		Selector: "body > div.body-site > div.container.container-main > div.container-main-left > div.panel-story-chapter-list > p.row-title-chapter > span.row-title-chapter-name",
		Number: func(selection *goquery.Selection) int {
			return 1
		},
	},
	ChapterExtractor: &scraper.ChapterExtractor{
		Selector: "li.a-h",
		Title: func(selection *goquery.Selection) string {
			name := selection.Find(".chapter-name").Text()

			if strings.HasPrefix(name, "Vol.") {
				splitted := strings.Split(name, " ")
				name = strings.Join(splitted[1:], " ")
			}
			return name
		},
		ID: func(_url string) string {
			return strings.Split(_url, "/")[4]
		},
		URL: func(selection *goquery.Selection) string {
			return selection.Find(".chapter-name").AttrOr("href", "")
		},
		Date: func(selection *goquery.Selection) libmangal.Date {
			layout := "Jan 02,06"
			publishedDate := strings.TrimSpace(selection.Find(".chapter-time").Text())
			date, err := time.Parse(layout, publishedDate)
			if err != nil {

				date = time.Now()
			}
			return libmangal.Date{
				Year:  date.Year(),
				Month: int(date.Month()),
				Day:   date.Day(),
			}
		},
		ScanlationGroup: func(_ *goquery.Selection) string {
			return Info.Name
		},
	},
	PageExtractor: &scraper.PageExtractor{
		Selector: ".container-chapter-reader img",
		URL: func(selection *goquery.Selection) string {
			return selection.AttrOr("data-src", "")
		},
	},
}
View Source
var Info = libmangal.ProviderInfo{
	ID:          mango.BundleID + "-manganelo",
	Name:        "Manganelo",
	Version:     "0.1.0",
	Description: "Manganelo scraper",
	Website:     "https://ww7.manganelo.tv/",
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL