Me duhet nje Web Scraper

Julius

Ushtar me eksperiencë
Ka ndonje web scraper qe perdor python ketu ne forum?

- Me duhet te bej scrape uebsajtet nga nje faqe e caktuar.
 
Nuk mendoj se scrape është e mirë. Jam pro të drejtave të autorit.
Varet se cfare ben scrape. Mua me duhet te bej scrape adresat e faqeve online, te publikuara ne nje faqe publike. Gje qe mund ta besh duke i regjistruar manualisht.

Eshte teresisht ligjore dhe e moralshme.
 
  • Pëlqej
Reagimet: Exp
Mirror jane softuerët që përdoren për të bërë një mirror-site kuptohet nëse siti nuk e pengon diçka të tillë.

Mua me duhet qe uebsajtet e listuara ne nje faqe te caktuar t'i rregjistroj ne nje format csv.

Psh kjo ketu builderspace.com/directory eshte nje directory faqesh. Me duhet qe secilen adrese te atyre kompanive te listuara, ta nxjerr ne nje liste me vete, e cila te permbaje vetem homepage te seciles.
 
Rregulli fundit nga moderatorët:
mos e bej linkun te gjalle ne kesisoj temash

(coc i bëre ti se faqja nuk hapet)
 
nejse, shiko mos te ben pune kjo instalo kete shtesen tek brave ose kroma
chrome.google.com/webstore/detail/data-scraper-easy-web-scr/nndknepjnldbdbepjfgmncbggmopgden/related
 
Mua me duhet qe uebsajtet e listuara ne nje faqe te caktuar t'i rregjistroj ne nje format csv.

Psh kjo ketu builderspace.com/directory eshte nje directory faqesh. Me duhet qe secilen adrese te atyre kompanive te listuara, ta nxjerr ne nje liste me vete, e cila te permbaje vetem homepage te seciles.
Provo njehere si me poshte:
1. Download NodeJS
2. Hapni terminalin tuaj (sugjeroj te perdorni bash)
3. run ne termianlin bash komandat =>

Kode:
cd Desktop
mkdir webscraper
cd webscraper
npm init
npm i cheerio request
touch app.js

4. Hapni app.js me code editorin tuaj dhe insertoni kete =>

Kode:
const request = require("request");
const cheerio = require("cheerio");

const url = `https://forum.itshqip.com/`;

request(url, (error, response, html) => {
  if (!error && response.statusCode == 200) {
    const $ = cheerio.load(html);

    // Selektimi i elementeve me sintaksen e JQuery
    // Selektimi behet si ne css

    const logo = $("#logo a img").attr("src");
    // .attr me argumentin src te jep attributin src te img

    // Per te gjetur nje element qe nuk ka class, id me tag
    const programingURL = $(".crumb")
      .find('span[itemprop="title"]')
      .text();
    // .text te jep textin brenda tag span

    const arr = [];
    // Loop ne nje element me children psh: ul>li
    $(".tabLinks")
      .find("ul li")
      .each((index, element) => {
        const text = $(element).text();
        arr.push(text);
      });
    //   Do te keni rezultate te ndryshme nga webi pasi jeni te login ne acc tuaj

    console.log(logo, programingURL, arr);
  }
});

5. Pastaj run codin me ane te terminalit => node app.js

BONUS

Me ane te scrape mund te krijoni API tuaj
1. Run codin posht ne terminal
Kode:
cd Desktop
mkdir api
cd api
npm init
npm i cheerio request express
touch app.js

2. futni kete cod ne app.js
Kode:
const express = require("express");
const request = require("request");
const cheerio = require("cheerio");
const app = express();

const url = `https://forum.itshqip.com/`;
const PORT = 3000;

app.use("/", async (req, res) => {
  let data;

  const scrape = () => {
    return new Promise(resolve => {
      request(url, (error, response, html) => {
        if (!error && response.statusCode == 200) {
          const $ = cheerio.load(html);

          //   Fut Codin Posht =========

          data = url + $("#logo a img").attr("src");

          //   Fut Codin Siper =======

          resolve("resolved");
        }
      });
    });
  };

  await scrape();

  res.status(200).json({
    success: true,
    data: data
  });
});

app.listen(PORT, console.log(`Server Runing in PORT: ${PORT}`));

3. Per te run Server => node app.js
4. Per te pare rezultatin shkoni ne browser ne url localhost:3000

Burimi: itshqip
 

Kjo temë po shikohet nga (Gjithësej: 1, Anëtarë: 0, Vizitorë: 1)

Back
Top