Sizin eklediğiniz kısımlarda fonksiyonun içerisinde mevcut direk bu kodu kopyalayıp yapıştırabilirsiniz. Çalıştırırken birkaç ayar yaparak çalıştırıyorsunuz anladığım kadarıyla. Onun içinde destek sağladım.En alta yazıyorum function eklemeden ama siz koyabilir misiniz bu koda bu sistemi.
const puppeteer = require("puppeteer");
const fs = require("fs");
async function searchUrl(url, pattern = [], filePath, options = {}) {
const browser = await puppeteer.launch(options);
const page = await browser.newPage();
await page.goto(url, {
waitUntil: "domcontentloaded",
});
const content = await page.content();
await browser.close();
let result = `URL: ${url} \r\n`;
for (let i = 0; i < pattern.length; i++) {
if (content.replace(/\s/g, "").includes(pattern[i])) {
result += `${pattern[i]} bulundu. \r\n`;
} else {
result += `${pattern[i]} bulunamadı. \r\n`;
}
}
if (!fs.existsSync(filePath)) {
fs.writeFileSync(filePath, result);
} else {
fs.open(filePath, "a", 666, function (e, id) {
fs.write(id, "\r\n" + result, null, "utf8", function () {
fs.close(id);
});
});
}
}
const kelimeler = ["technopat", "sistem", "deneme34143"];
const url = "https://www.technopat.net/sosyal";
const ayarlar = {
headless: false,
args: [`--window-size=1280,768`],
defaultViewport: {
width: 1280,
height: 768
}
}
searchUrl(url, kelimeler, "Output.txt", ayarlar);
JavaScript:const puppeteer = require("puppeteer"); const fs = require("fs"); async function searchUrl(url, pattern = [], filePath, options = {}) { const browser = await puppeteer.launch(options); const page = await browser.newPage(); await page.goto(url, { waitUntil: "domcontentloaded", }); const content = await page.content(); await browser.close(); let result = `URL: ${url} \r\n`; for (let i = 0; i < pattern.length; i++) { if (content.replace(/\s/g, "").includes(pattern[i])) { result += `${pattern[i]} bulundu. \r\n`; } else { result += `${pattern[i]} bulunamadı. \r\n`; } } if (!fs.existsSync(filePath)) { fs.writeFileSync(filePath, result); } else { fs.open(filePath, "a", 666, function (e, id) { fs.write(id, "\r\n" + result, null, "utf8", function () { fs.close(id); }); }); } }
Kullanımı:
JavaScript:const kelimeler = ["technopat", "sistem", "deneme34143"]; const url = "https://www.technopat.net/sosyal"; const ayarlar = { headless: false, args: [`--window-size=1280,768`], defaultViewport: { width: 1280, height: 768 } } searchUrl(url, kelimeler, "Output.txt", ayarlar);
const puppeteer = require("puppeteer");
const fs = require("fs");
async function searchUrl(url, pattern = [], filePath, options = {}) {
const browser = await puppeteer.launch(options);
const page = await browser.newPage();
await page.goto(url, {
waitUntil: "domcontentloaded",
});
const kelimeler = ["technopat", "sistem", "deneme34143"];
const url = "https://www.technopat.net/sosyal";
const ayarlar = {
headless: false,
args: [`--window-size=1280,768`],
defaultViewport: {
width: 1280,
height: 768
}
}
searchUrl(url, kelimeler, "Output.txt", ayarlar);
const content = await page.content();
await browser.close();
let result = `URL: ${url} \r\n`;
for (let i = 0; i < pattern.length; i++) {
if (content.replace(/\s/g, "").includes(pattern[i])) {
result += `${pattern[i]} bulundu. \r\n`;
} else {
result += `${pattern[i]} bulunamadı. \r\n`;
}
}
if (!fs.existsSync(filePath)) {
fs.writeFileSync(filePath, result);
} else {
fs.open(filePath, "a", 666, function (e, id) {
fs.write(id, "\r\n" + result, null, "utf8", function () {
fs.close(id);
});
});
}
}
Hocam ne yaptınızyeni proje açıp sizin bu 2 kodu ekledim fakat çalışmıyor
açtığım proje
JavaScript:const puppeteer = require("puppeteer"); const fs = require("fs"); async function searchUrl(url, pattern = [], filePath, options = {}) { const browser = await puppeteer.launch(options); const page = await browser.newPage(); await page.goto(url, { waitUntil: "domcontentloaded", }); const kelimeler = ["technopat", "sistem", "deneme34143"]; const url = "https://www.technopat.net/sosyal"; const ayarlar = { headless: false, args: [`--window-size=1280,768`], defaultViewport: { width: 1280, height: 768 } } searchUrl(url, kelimeler, "Output.txt", ayarlar); const content = await page.content(); await browser.close(); let result = `URL: ${url} \r\n`; for (let i = 0; i < pattern.length; i++) { if (content.replace(/\s/g, "").includes(pattern[i])) { result += `${pattern[i]} bulundu. \r\n`; } else { result += `${pattern[i]} bulunamadı. \r\n`; } } if (!fs.existsSync(filePath)) { fs.writeFileSync(filePath, result); } else { fs.open(filePath, "a", 666, function (e, id) { fs.write(id, "\r\n" + result, null, "utf8", function () { fs.close(id); }); }); } }
const puppeteer = require("puppeteer");
const fs = require("fs");
async function searchUrl(url, pattern = [], filePath, options = {}) {
const browser = await puppeteer.launch(options);
const page = await browser.newPage();
await page.goto(url, {
waitUntil: "domcontentloaded",
});
const content = await page.content();
await browser.close();
let result = `URL: ${url} \r\n`;
for (let i = 0; i < pattern.length; i++) {
if (content.replace(/\s/g, "").includes(pattern[i])) {
result += `${pattern[i]} bulundu. \r\n`;
} else {
result += `${pattern[i]} bulunamadı. \r\n`;
}
}
if (!fs.existsSync(filePath)) {
fs.writeFileSync(filePath, result);
} else {
fs.open(filePath, "a", 666, function (e, id) {
fs.write(id, "\r\n" + result, null, "utf8", function () {
fs.close(id);
});
});
}
}
const kelimeler = ["technopat", "sistem", "deneme34143"];
const url = "https://www.technopat.net/sosyal";
const ayarlar = {
headless: false,
args: [`--window-size=1280,768`],
defaultViewport: {
width: 1280,
height: 768,
},
};
searchUrl(url, kelimeler, "Output.txt", ayarlar);
const fs = require('fs');
const puppeteer = require('puppeteer')
(async () => {
const browser = await puppeteer.launch({
headless: false,
args: [`--window-size=1280,768`],
defaultViewport: {
width:1280,
height:768
}
function delay(time) {
return new Promise(function(resolve) {
setTimeout(resolve, time)
});
}
});
const page = await browser.newPage();
await page.goto('https://www.technopat.net/sosyal');
Hocam onu ben de ayarladım şu attığım kodu bir dosyaya kopyalayın ve çalıştırın göreceksiniz. Neden entegre etmek istiyorsunuz? Entegre edilecek bir şey yok. Çok eksiğiniz var. Kullanım kısmını direkt fonksiyonun ortasına yapıştırmışsınız altına bile değil.Ben kodu entegre edemiyorum bu projeye JavaScript'e yeni geçtim hiç anlamıyorum.
Kod:const fs = require('fs'); const puppeteer = require('puppeteer') (async () => { const browser = await puppeteer.launch({ headless: false, args: [`--window-size=1280,768`], defaultViewport: { width:1280, height:768 } function delay(time) { return new Promise(function(resolve) { setTimeout(resolve, time) }); } }); const page = await browser.newPage(); await page.goto('https://www.technopat.net/sosyal');
Bu JS dosyasına direkt entegre edip atabilir misiniz? Benim yaptığım JS'ye ekleyemiyorum çünkü bu attığım koda yapamaz mıyız? Tıklama noktalarını vs. ayarladım ben ve geçiremiyorum sizin attığınız yere.
Tam olarak ne yapmak istiyorsunuz? Çalıştı mı bu arada?await page.goto gibi kodlar ekleyemiyorum, onu nasıl yapabilirim?
await page.click('[type=""]')
await page.keyboard.type("dsafasdf");
//bunun gibi kodları başında await olanlar
await sadece async fonksiyonların içinde kullanılabilir.Çalıştı. Başka bir sayfaya gidip klavye girdisi tıklamalar yaptırmak istiyorum fakat bunları kabul etmiyor awit hatası veriyor.
Kod:await page.click('[type=""]') await page.keyboard.type("dsafasdf"); //bunun gibi kodları başında await olanlar
async function Deneme() {
await page.click('[type=""]')
await page.keyboard.type("dsafasdf");
}
Şimdi siz bir siteye gitmesini, çeşitli tuşlara basıp birşeyler yaptıktan sonra kelime aratmak mı istiyorsunuz. Tam olarak anlamadım.Kelime aratmayı en son iş olarak yaptıracağım ilk başta girdileri yapacağım son olarak da ekranda istediğim yazı var mı yok mu ona baktıracağım ilk olarak nasıl girdileri yapabilirim aynı tarayıcı oturumunda olması gerekiyor cookiler gitmemesi için.
Bir de JavaScript için bildiğin kaynak var mı genel olarak detaylı bir kaynak.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.