gethttp() async {
print('http called');
for (var i = 0; i < datas![0].chapters!.length; i++) {
final linke =
Uri.parse(SCRAP_URL + datas![0].chapters![i].link!.toString());
final respone = await http.get(linke);
if (respone.statusCode == 200) {
dom.Document html = dom.Document.html(respone.body);
final titles = html
.querySelectorAll(
'#content > div > div.row-offcanvas.row-offcanvas-left > div > div.col-xs-12.col-sm-9 > div > div > div.row > div > a')
.map((element) => element.innerHtml.trim())
.toList();
final urls = html
.querySelectorAll(
'#content > div > div.row-offcanvas.row-offcanvas-left > div > div.col-xs-12.col-sm-9 > div > div > div.row > div > a')
.map((element) =>
'http://www.khullakitab.com/${element.attributes['href']}')
.toList();
dev.log(titles.length.toString());
for (var j = 0; j < titles.length; j++) {
var linkee = Uri.parse(urls[j]);
final responee = await http.get(linkee);
dom.Document htmle = dom.Document.html(responee.body);
var mm = htmle
.querySelector(
'#content > div > div.row-offcanvas.row-offcanvas-left > div > div.col-xs-12.col-sm-9 > div > div ')!
.innerHtml;
dom.Document htmla = dom.Document.html(mm);
var datase = htmla
.getElementsByClassName("col-xs-12")[titles.length + 2]
.innerHtml;
Directory? dir = await getExternalStorageDirectory();
var filee = File('${dir!.path}/${titles[j]}.json');
var myap = {
"title": datas![0].chapters![i].name,
"data": base64.encode(utf8.encode(datase))
};
await filee.writeAsString(jsonEncode(myap));
dev.log('${dir.path}/${titles[j]}.json');
}
}
}
}
getexc() async {
print('http called');
List Chap = [];
var aam = {"year": "Revised Year 2077", "chapters": Chap};
for (var i = 0; i < datas![0].chapters!.length; i++) {
final linke =
Uri.parse(SCRAP_URL + datas![0].chapters![i].link!.toString());
final respone = await http.get(linke);
if (respone.statusCode == 200) {
dom.Document html = dom.Document.html(respone.body);
final titles = html
.querySelectorAll(
'#content > div > div.row-offcanvas.row-offcanvas-left > div > div.col-xs-12.col-sm-9 > div > div > div.row > div > a')
.map((element) => element.innerHtml.trim())
.toList();
final urls = html
.querySelectorAll(
'#content > div > div.row-offcanvas.row-offcanvas-left > div > div.col-xs-12.col-sm-9 > div > div > div.row > div > a')
.map((element) =>
'http://www.khullakitab.com/${element.attributes['href']}')
.toList();
var myapa = {
"name": datas![0].chapters![i].name!.toString(),
"link": "",
"direct": false,
"exc": List.generate(titles.length, (index) {
return {
"name": titles[index].toString(),
"type": "BASE",
"link": titles[index].toString()
};
})
};
Chap.add(myapa);
}
}
dev.log(jsonEncode(aam));
}
getnotes() async {
final link = Uri.parse(
'http://www.khullakitab.com/permutation-and-combination/notes/mathematics/grade-12/29/notes');
final respone = await http.get(link);
if (respone.statusCode == 200) {
dom.Document html = dom.Document.html(respone.body);
var mm = html
.querySelectorAll(
'#content > div > div.row-offcanvas.row-offcanvas-left > div > div.col-xs-6.col-sm-3.sidebar-offcanvas.sidebar-nav.no-margin > ul > li > h3 > a')
.map((element) =>
'http://www.khullakitab.com/${element.attributes['href']}')
.toList();
var mam = html
.querySelectorAll(
'#content > div > div.row-offcanvas.row-offcanvas-left > div > div.col-xs-6.col-sm-3.sidebar-offcanvas.sidebar-nav.no-margin > ul > li > h3 > a')
.map((element) => element.innerHtml.trim())
.toList();
Directory? dir = await getExternalStorageDirectory();
// var sss = List.generate(mm.length,
// (index) => {"name": mam[index], "type": "BASE", "link": mam[index]});
// dev.log(jsonEncode(sss));
for (var i = 0; i < mm.length; i++) {
Uri linkee;
if (i == 0) {
linkee = Uri.parse(
'http://www.khullakitab.com/permutation-and-combination/notes/mathematics/grade-12/29/notes');
} else {
linkee = Uri.parse(mm[i].toString());
}
final responee = await http.get(linkee);
dom.Document htmle = dom.Document.html(responee.body);
var mm2 = htmle
.querySelector(
'#content > div > div.row-offcanvas.row-offcanvas-left > div > div.col-xs-12.col-sm-9 > div > div ')!
.innerHtml;
print(mm2.toString());
dom.Document htmla = dom.Document.html(mm2);
var ggg = htmla.getElementsByClassName("col-xs-12")[2].innerHtml;
var filee = File('${dir!.path}/${mam[i]}.json');
var myap = {"data": base64.encode(utf8.encode(ggg))};
await filee.writeAsString(jsonEncode(myap));
dev.log('${dir.path}/${mam[i]}.json');
}
}
setState(() {});
}