Scrapper.Udemy.java Source code

Java tutorial

Introduction

Here is the source code for Scrapper.Udemy.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Scrapper;

import java.util.List;
import java.util.concurrent.TimeUnit;
import jdbc.insert;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

/**
 *
 * @author nasrallah
 */
public class Udemy {

    insert in;

    public Udemy() {
        in = new insert();
    }

    public void Getter_beginner(String Key) {

        c_model mod = new c_model();
        // c_model[] r_model = new c_model[40];
        int q = 0;
        System.setProperty("webdriver.gecko.driver", "/usr/geckodriver");
        WebDriver dr = new FirefoxDriver();
        dr.get("https://www.udemy.com/courses/search/?ref=home&src=ukw&q=" + Key
                + "&instructionalLevel=beginner&price=price-free");
        dr.manage().window().maximize();
        dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        List<WebElement> list = dr.findElements(By.className("card__inner"));
        java.util.Iterator<WebElement> i = list.iterator();
        while (i.hasNext()) {
            if (q > 40) {
                break;
            }

            WebElement row = i.next();

            mod.setC_name(row.findElement(By.className("card__title")).getText());
            mod.setC_src(row.findElement(By.className("card__title")).getAttribute("href"));
            mod.setC_img_src(row.findElement(By.className("card__image")).getAttribute("src"));
            mod.setC_insta(row.findElement(By.className("card__instructor-inner")).getText());
            mod.setType(Key);
            mod.setLevel("1");
            in.insert_course(mod);
            //  r_model[q++] = mod;
        }
        dr.quit();
        // return r_model;
    }

    public void Getter_intermediate(String Key) {

        c_model mod = new c_model();
        //c_model[] r_model = new c_model[40];
        int q = 0;
        System.setProperty("webdriver.gecko.driver", "/usr/geckodriver");
        WebDriver dr = new FirefoxDriver();
        dr.get("https://www.udemy.com/courses/search/?ref=home&src=ukw&q=" + Key
                + "&instructionalLevel=intermediate&price=price-free");
        dr.manage().window().maximize();
        dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        List<WebElement> list = dr.findElements(By.className("card__inner"));
        java.util.Iterator<WebElement> i = list.iterator();
        while (i.hasNext()) {
            if (q > 40) {
                break;
            }

            WebElement row = i.next();

            mod.setC_name(row.findElement(By.className("card__title")).getText());
            mod.setC_src(row.findElement(By.className("card__title")).getAttribute("href"));
            mod.setC_img_src(row.findElement(By.className("card__image")).getAttribute("src"));
            mod.setC_insta(row.findElement(By.className("card__instructor-inner")).getText());
            mod.setType(Key);
            mod.setLevel("2");
            in.insert_course(mod);
            ///r_model[q++] = mod;
        }
        dr.quit();
        //return r_model;
    }

    public void Getter_expert(String Key) {

        c_model mod = new c_model();
        // c_model[] r_model = new c_model[40];
        int q = 0;
        System.setProperty("webdriver.gecko.driver", "/usr/geckodriver");
        WebDriver dr = new FirefoxDriver();
        dr.get("https://www.udemy.com/courses/search/?ref=home&src=ukw&q=" + Key
                + "&instructionalLevel=expert&price=price-free");
        dr.manage().window().maximize();
        dr.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
        List<WebElement> list = dr.findElements(By.className("card__inner"));
        java.util.Iterator<WebElement> i = list.iterator();
        while (i.hasNext()) {
            if (q > 40) {
                break;
            }

            WebElement row = i.next();

            mod.setC_name(row.findElement(By.className("card__title")).getText());
            mod.setC_src(row.findElement(By.className("card__title")).getAttribute("href"));
            mod.setC_img_src(row.findElement(By.className("card__image")).getAttribute("src"));
            mod.setC_insta(row.findElement(By.className("card__instructor-inner")).getText());
            mod.setType(Key);
            mod.setLevel("3");
            in.insert_course(mod);
            // r_model[q++] = mod;
        }
        dr.quit();
        //  return r_model;
    }

}