refactor(mmrcms): replace XPath with CSS selectors for page list parsing

This commit is contained in:
xMohnad
2025-06-11 18:28:56 +00:00
parent fc3a6e3c68
commit 8e4bd20e45

View File

@@ -201,18 +201,16 @@ class MMRCMS extends MProvider {
@override @override
Future<List<String>> getPageList(String url) async { Future<List<String>> getPageList(String url) async {
final res = (await client.get(Uri.parse(url))).body; final response = await client.get(Uri.parse(url));
final document = parseHtml(response.body);
List<String> pagesUrl = []; List<String> pagesUrl = [];
final pages = xpath( for (var img in document.select('#all img.img-responsive[data-src]')) {
res, String? src = img.attr('data-src');
'//*[@id="all"]/img[@class="img-responsive"]/@data-src', if (src.startsWith('//')) {
); pagesUrl.add('https:${src}');
for (var page in pages) {
if (page.startsWith('//')) {
pagesUrl.add(page.replaceAll('//', 'https://'));
} else { } else {
pagesUrl.add(page); pagesUrl.add(src);
} }
} }