1 from manga_py
.provider
import Provider
2 from .helpers
.std
import Std
5 class GoMangaCo(Provider
, Std
):
6 _name_re
= r
'/reader/[^/]+/([^/?]+)'
7 _content_str
= '{}/reader/series/{}/'
8 _chapters_selector
= '.list .element .title a'
9 _chapter_re
= r
'/rea\w+/[^/]+/[^/]+/(?:[^/]+/)?(\d+/\d+(?:/\d+)?)'
11 _go_chapter_content
= ''
13 def get_chapter_index(self
) -> str:
14 group
= self
.re
.search(self
._chapter
_re
, self
.chapter
).group(1)
15 return group
.replace('/', '-')
17 def get_content(self
):
18 return self
._get
_content
(self
._content
_str
)
20 def get_manga_name(self
) -> str:
21 return self
._get
_name
(self
._name
_re
)
23 def get_chapters(self
):
24 return self
._elements
(self
._chapters
_selector
)
26 def _get_json_selector(self
, content
):
27 idx
= self
.re
.search(r
'page_width\s=\sparseInt\((\w+)\[', content
).group(1)
28 return r
'var\s{}\s*=\s*(\[.+\])'.format(idx
)
31 self
._go
_chapter
_content
= self
.http_get(self
.chapter
)
32 selector
= self
._get
_json
_selector
(self
._go
_chapter
_content
)
33 items
= self
.json
.loads(self
.re
.search(selector
, self
._go
_chapter
_content
).group(1))
34 return [i
.get('url') for i
in items
]
36 def get_cover(self
) -> str:
37 return self
._cover
_from
_content
('.cover img')
39 def prepare_cookies(self
):
41 data
= {'adult': 'true'}
42 if self
._use
_flare
_solver
:
43 self
.http_post(url
, data
=data
)
45 self
.__normal
_cookies
(url
, data
)
47 def __normal_cookies(self
, url
, data
):
49 response
= self
.http().requests(method
='post', data
=data
, url
=url
)
50 cookies
= response
.cookies
.items()
52 self
._storage
['cookies'][i
[0]] = i
[1]