Skip to content

Commit 1e86b6d

Browse files
committed
updates
1 parent e509a88 commit 1e86b6d

7 files changed

+1091
-15
lines changed

RecursionGFGQuestions.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
{
22
"Easy Questions: ": {
33
"Geek-onacci Number": "https://practice.geeksforgeeks.org/problems/geek-onacci-number/0/?difficulty[]=0&page=1&category[]=Recursion&query=difficulty[]0page1category[]Recursion",
4-
"Josephus problem": "https://practice.geeksforgeeks.org/explore/?category[]=Recursion",
5-
"Diagonal Sum In Binary Tree": "https://practice.geeksforgeeks.org/explore/?company[]=",
6-
"Lucky Numbers": "https://practice.geeksforgeeks.org/problems/josephus-problem/1/?difficulty[]=0&page=1&category[]=Recursion&query=difficulty[]0page1category[]Recursion",
7-
"Sort a stack": "https://practice.geeksforgeeks.org/explore/?category[]=Bit Magic"
4+
"Josephus problem": "https://practice.geeksforgeeks.org/problems/josephus-problem/1/?difficulty[]=0&page=1&category[]=Recursion&query=difficulty[]0page1category[]Recursion",
5+
"Diagonal Sum In Binary Tree": "https://practice.geeksforgeeks.org/problems/diagonal-sum-in-binary-tree/1/?difficulty[]=0&page=1&category[]=Recursion&query=difficulty[]0page1category[]Recursion",
6+
"Lucky Numbers": "https://practice.geeksforgeeks.org/problems/lucky-numbers2911/1/?difficulty[]=0&page=1&category[]=Recursion&query=difficulty[]0page1category[]Recursion",
7+
"Sort a stack": "https://practice.geeksforgeeks.org/problems/sort-a-stack/1/?difficulty[]=0&page=1&category[]=Recursion&query=difficulty[]0page1category[]Recursion"
88
},
99
"Medium Questions: ": {
1010
"Generate Parentheses": "https://practice.geeksforgeeks.org/problems/generate-all-possible-parentheses/1/?difficulty[]=1&page=1&category[]=Recursion&query=difficulty[]1page1category[]Recursion",
11-
"Gray Code": "https://practice.geeksforgeeks.org/explore/?category[]=Backtracking",
12-
"Add two numbers represented by Linked List": "https://practice.geeksforgeeks.org/explore/?category[]=Recursion"
11+
"Gray Code": "https://practice.geeksforgeeks.org/problems/gray-code-1611215248/1/?difficulty[]=1&page=1&category[]=Recursion&query=difficulty[]1page1category[]Recursion",
12+
"Add two numbers represented by Linked List": "https://practice.geeksforgeeks.org/problems/add-two-numbers-represented-by-linked-list/1/?difficulty[]=1&page=1&category[]=Recursion&query=difficulty[]1page1category[]Recursion"
1313
},
1414
"Hard Questions: ": {
1515
"Find all possible palindromic partitions of a String": "https://practice.geeksforgeeks.org/problems/find-all-possible-palindromic-partitions-of-a-string/1/?difficulty[]=2&category[]=Recursion&page=1&query=difficulty[]2category[]Recursionpage1",
16-
"Next Happy Number": "https://practice.geeksforgeeks.org/explore/?category[]=Backtracking"
16+
"Next Happy Number": "https://practice.geeksforgeeks.org/problems/next-happy-number4538/1/?difficulty[]=2&category[]=Recursion&page=1&query=difficulty[]2category[]Recursionpage1"
1717
}
1818
}

a4.pdf

3.09 KB
Binary file not shown.

convertJSON2PDF.js

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
const fs=require("fs");
2+
const { default: jsPDF } = require("jspdf");
3+
let data=fs.readFileSync("RecursionGFGQuestions.json");
4+
let obj=JSON.parse(data);
5+
console.log(obj);
6+
var doc= new jsPDF({
7+
orientation: "landscape",
8+
unit: "mm",
9+
});
10+
11+
let i=10;
12+
13+
for(let key in obj)
14+
{
15+
16+
var j=i+10;
17+
var l=i+20;
18+
19+
doc.text(key,10,i)
20+
let nobj=obj[key];
21+
22+
for(let k in nobj)
23+
{
24+
doc.text(k+" : "+nobj[k],10,j);
25+
// doc.text(nobj[k],10,l);
26+
j=j+10;
27+
l=l+50;
28+
}
29+
i+=j-10;
30+
}
31+
32+
// doc.text("Medium Questions: ",0,i)
33+
34+
35+
36+
doc.save("questions.pdf")
37+
38+
39+
// Default export is a4 paper, portrait, using millimeters for units
40+
// const doc = new jsPDF();
41+
42+
// doc.text("Hello world!", 10, 10);
43+
// doc.save("a4.pdf");

gfgScrapper.js

+8-7
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ let rl = readline.createInterface(
1313
)
1414

1515
rl.question("What DSA you want to practice ? ", async function (ans) {
16-
await pattern532LC(ans);
16+
await pattern532GFG(ans);
1717
rl.close();
1818
})
1919

@@ -23,7 +23,7 @@ async function pattern532GFG(dsaTopic) {
2323
headless: false,
2424
defaultViewport: null,
2525
args: ["--start-maximized"],
26-
slowMo: 75
26+
slowMo: 100
2727
});
2828

2929
let pagesArr = await browser.pages();
@@ -53,7 +53,7 @@ async function pattern532GFG(dsaTopic) {
5353
let easyQ = await pageGFG.evaluate(function () {
5454
let easyQ = {};
5555
let problemName = document.querySelectorAll(".panel.problem-block div>span");
56-
let problemLink = document.querySelectorAll(".panel.problem-block a");
56+
let problemLink = document.querySelectorAll('[style="position: absolute;top: 0;left: 0;height: 100%;width: 100%;z-index:1;pointer:cursor;"]');
5757

5858
if (problemName.length > 5) {
5959

@@ -78,7 +78,7 @@ async function pattern532GFG(dsaTopic) {
7878
await pageGFG.click("[value='0']", { delay: 2000 })
7979

8080
await Promise.all([
81-
pageGFG.waitForNavigation(),
81+
// pageGFG.waitForNavigation(),
8282
pageGFG.click("[value='1']", { delay: 2000 })
8383
])
8484

@@ -87,13 +87,14 @@ async function pattern532GFG(dsaTopic) {
8787
let mediumQ = await pageGFG.evaluate(function () {
8888
let mediumQ = {};
8989
let problemName = document.querySelectorAll(".panel.problem-block div>span");
90-
let problemLink = document.querySelectorAll(".panel.problem-block a");
90+
let problemLink = document.querySelectorAll('[style="position: absolute;top: 0;left: 0;height: 100%;width: 100%;z-index:1;pointer:cursor;"]');
9191

9292
if (problemName.length > 3) {
9393

9494
for (let i = 0; i < 3; i++) {
9595

9696
mediumQ[problemName[i].innerText] = problemLink[i].getAttribute("href");
97+
console.log(problemLink[i].getAttribute("href"));
9798
}
9899
}
99100
else {
@@ -121,7 +122,7 @@ async function pattern532GFG(dsaTopic) {
121122
let hardQ = await pageGFG.evaluate(function () {
122123
let hardQ = {};
123124
let problemName = document.querySelectorAll(".panel.problem-block div>span");
124-
let problemLink = document.querySelectorAll(".panel.problem-block a");
125+
let problemLink = document.querySelectorAll('[style="position: absolute;top: 0;left: 0;height: 100%;width: 100%;z-index:1;pointer:cursor;"]');
125126

126127
if (problemName.length > 2) {
127128

@@ -150,7 +151,7 @@ async function pattern532GFG(dsaTopic) {
150151
if (err) {
151152
console.log(err);
152153
}
153-
browser.close();
154+
// browser.close();
154155
})
155156

156157
}

0 commit comments

Comments
 (0)