{"id":11399,"date":"2020-12-18T13:15:21","date_gmt":"2020-12-18T13:15:21","guid":{"rendered":"https:\/\/www.rapidseedbox.com\/?p=11399"},"modified":"2025-10-28T18:31:07","modified_gmt":"2025-10-28T18:31:07","slug":"web-scraping","status":"publish","type":"post","link":"https:\/\/www.rapidseedbox.com\/tr\/blog\/web-scraping","title":{"rendered":"Web Kaz\u0131ma i\u00e7in Nihai K\u0131lavuz [G\u00fcncellendi]"},"content":{"rendered":"<p>In this ultimate guide, we will explore the world of web scraping, a powerful technique to extract data from websites. rat<\/p>\n\n\n\n<p><em>\u0130ster konsepti merak eden bir acemi olun, ister becerilerinizi geli\u015ftirmek isteyen deneyimli bir programc\u0131, bu k\u0131lavuzda herkes i\u00e7in de\u011ferli bir \u015feyler var. CSS kullanarak HTML veri \u00e7\u0131karman\u0131n temellerini anlamaktan ve <a href=\"https:\/\/www.rapidseedbox.com\/blog\/xpath-cheat-sheet\" target=\"_blank\" rel=\"noreferrer noopener\">XPath<\/a> se\u00e7icilerden Python ile uygulamal\u0131 web kaz\u0131maya kadar her \u015fey elimizin alt\u0131nda. Ek olarak, sorumlu web kaz\u0131ma sa\u011flamak i\u00e7in yasal y\u00f6nleri, etik hususlar\u0131 ve en iyi uygulamalar\u0131 ele alaca\u011f\u0131z. <\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/web-scraping.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"532\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/web-scraping-1024x532.png\" alt=\"web kaz\u0131ma\" class=\"wp-image-25091\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/web-scraping-1024x532.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/web-scraping-300x156.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/web-scraping-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/web-scraping.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><em><strong>Sorumluluk reddi: <\/strong>Bu materyal kesinlikle bilgilendirme ama\u00e7l\u0131 olarak geli\u015ftirilmi\u015ftir. Herhangi bir faaliyetin (yasad\u0131\u015f\u0131 faaliyetler dahil), \u00fcr\u00fcn\u00fcn veya hizmetin onayland\u0131\u011f\u0131 anlam\u0131na gelmez. Hizmetlerimizi kullan\u0131rken veya buradaki herhangi bir bilgiye g\u00fcvenirken fikri m\u00fclkiyet yasalar\u0131 da dahil olmak \u00fczere y\u00fcr\u00fcrl\u00fckteki yasalara uymaktan yaln\u0131zca siz sorumlusunuz. Yasalar\u0131n a\u00e7\u0131k\u00e7a gerektirdi\u011fi durumlar d\u0131\u015f\u0131nda, hizmetlerimizin veya burada yer alan bilgilerin herhangi bir \u015fekilde kullan\u0131lmas\u0131ndan kaynaklanan zararlar i\u00e7in herhangi bir sorumluluk kabul etmiyoruz.<\/em><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u0130\u00e7indekiler.&nbsp;<\/h2>\n\n\n\n<ol>\n<li><a href=\"#01\">Web Kaz\u0131ma Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/a> <\/li>\n\n\n\n<li><a href=\"#02\">HTML Veri \u00c7\u0131karman\u0131n Temelleri: CSS ve XPath Se\u00e7icileri.<\/a><\/li>\n\n\n\n<li><a href=\"#03\">Python ile Web Kaz\u0131ma (+ Kod).<\/a><\/li>\n\n\n\n<li><a href=\"#06\">Web Kaz\u0131ma Yasal m\u0131?<\/a> <\/li>\n\n\n\n<li><a href=\"#08\">Web siteleri web kaz\u0131may\u0131 nas\u0131l engellemeye \u00e7al\u0131\u015f\u0131r?<\/a> <\/li>\n\n\n\n<li><a href=\"#010\">Web Kaz\u0131ma i\u00e7in Etik ve En \u0130yi Uygulamalar.<\/a> <\/li>\n\n\n\n<li><a href=\"#07\">Web Kaz\u0131ma: S\u0131k\u00e7a Sorulan Sorular (SSS)<\/a><\/li>\n\n\n\n<li><a href=\"#012\">Sonu\u00e7.<\/a><\/li>\n<\/ol>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"01\">1. Web Kaz\u0131ma Nedir ve Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Web Kaz\u0131ma Size Sonsuza Kadar Zaman Kazand\u0131racak\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/QUKRkIYg6as?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Web kaz\u0131ma (web hasad\u0131 veya veri \u00e7\u0131karma olarak da bilinir), web sitelerinden, web hizmetlerinden ve web uygulamalar\u0131ndan otomatik olarak veri \u00e7\u0131karma i\u015flemidir. <\/p>\n\n\n\n<p>Web kaz\u0131ma, bizi her web sitesine girip manuel olarak veri \u00e7ekmek zorunda kalmaktan kurtarmaya yard\u0131mc\u0131 olur - bu uzun ve etkisiz bir s\u00fcre\u00e7tir. S\u00fcre\u00e7, otomatik komut dosyalar\u0131 veya programlar\u0131n kullan\u0131lmas\u0131n\u0131 i\u00e7erir. Komut dosyas\u0131 veya program web sayfas\u0131n\u0131n HTML yap\u0131s\u0131na eri\u015fir, verileri ayr\u0131\u015ft\u0131r\u0131r ve daha fazla analiz i\u00e7in sayfan\u0131n ihtiya\u00e7 duyulan belirli \u00f6\u011felerini \u00e7\u0131kar\u0131r. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"05\">a. Web Kaz\u0131ma Ne \u0130\u00e7in Kullan\u0131l\u0131r?<\/h3>\n\n\n\n<p>Web kaz\u0131ma, sorumlu bir \u015fekilde yap\u0131l\u0131rsa harika bir y\u00f6ntemdir. Genel olarak, belirli bir pazardaki e\u011filimler hakk\u0131nda bilgi edinmek ve i\u00e7g\u00f6r\u00fc kazanmak gibi pazarlar\u0131 ara\u015ft\u0131rmak i\u00e7in kullan\u0131labilir. Ayr\u0131ca stratejilerini, fiyatlar\u0131n\u0131 vb. takip etmek i\u00e7in rekabet izlemede de pop\u00fclerdir.<\/p>\n\n\n\n<p><strong>&nbsp;Daha spesifik kullan\u0131m durumlar\u0131 \u015funlard\u0131r: <\/strong><\/p>\n\n\n\n<ul>\n<li>Sosyal platformlar (<a href=\"https:\/\/www.rapidseedbox.com\/blog\/twitter-facebook-scraper-guide\" target=\"_blank\" rel=\"noreferrer noopener\">Facebook ve Twitter kaz\u0131ma<\/a>)<\/li>\n\n\n\n<li>\u00c7evrimi\u00e7i fiyat de\u011fi\u015fikli\u011fi izleme, <\/li>\n\n\n\n<li>\u00dcr\u00fcn incelemeleri, <\/li>\n\n\n\n<li>SEO kampanyalar\u0131,<\/li>\n\n\n\n<li>Emlak listeleri, <\/li>\n\n\n\n<li>Hava durumu verilerinin izlenmesi, <\/li>\n\n\n\n<li>Bir web sitesinin itibar\u0131n\u0131 takip etme, <\/li>\n\n\n\n<li>U\u00e7u\u015flar\u0131n uygunlu\u011funu ve fiyatlar\u0131n\u0131 izleme, <\/li>\n\n\n\n<li>Co\u011frafyadan ba\u011f\u0131ms\u0131z olarak reklamlar\u0131 test edin, <\/li>\n\n\n\n<li>Mali kaynaklar\u0131n izlenmesi, <\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">b. Web Kaz\u0131ma nas\u0131l \u00e7al\u0131\u015f\u0131r? <\/h3>\n\n\n\n<p>Web kaz\u0131ma i\u015fleminde yer alan tipik unsurlar ba\u015flat\u0131c\u0131 ve hedeftir. Ba\u015flat\u0131c\u0131 (web kaz\u0131y\u0131c\u0131) web sitelerini kaz\u0131mak i\u00e7in otomatik veri \u00e7\u0131karma yaz\u0131l\u0131m\u0131 kullan\u0131r. Hedefler ise genellikle web sitesinin i\u00e7eri\u011fi, ileti\u015fim bilgileri, formlar veya web'de herkese a\u00e7\u0131k olarak bulunan herhangi bir \u015feydir.<\/p>\n\n\n\n<p><strong>Tipik s\u00fcre\u00e7 a\u015fa\u011f\u0131daki gibidir:&nbsp;<\/strong><\/p>\n\n\n\n<ul>\n<li><strong>ADIM 1: <\/strong>Ba\u015flat\u0131c\u0131, HTTP istekleri (web siteleriyle etkile\u015fim kurmak ve veri almak i\u00e7in kullan\u0131l\u0131r) olu\u015fturmaya ba\u015flamak i\u00e7in kaz\u0131ma arac\u0131n\u0131 - yaz\u0131l\u0131m\u0131 (bulut tabanl\u0131 bir hizmet veya ev yap\u0131m\u0131 bir komut dosyas\u0131 olabilir) kullan\u0131r. Bu yaz\u0131l\u0131m, hedef web sitesine HTTP GET, POST, PUT, DELETE veya HEAD'den OPTIONS iste\u011fine kadar her \u015feyi ba\u015flatabilir.&nbsp;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_019.png\"><img decoding=\"async\" loading=\"lazy\" width=\"979\" height=\"526\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_019.png\" alt=\"web kaz\u0131ma nas\u0131l \u00e7al\u0131\u015f\u0131r\" class=\"wp-image-17251\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_019.png 979w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_019-300x161.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_019-18x10.png 18w\" sizes=\"(max-width: 979px) 100vw, 979px\" \/><\/a><\/figure>\n\n\n\n<ul>\n<li><strong>ADIM 2.<\/strong> Sayfa mevcutsa, hedef web sitesi kaz\u0131y\u0131c\u0131n\u0131n iste\u011fine HTTP\/1.0 200 OK (ziyaret\u00e7ilere verilen tipik yan\u0131t) ile yan\u0131t verecektir. Kaz\u0131y\u0131c\u0131 HTML yan\u0131t\u0131n\u0131 ald\u0131\u011f\u0131nda (\u00f6rne\u011fin 200 OK), belgeyi ayr\u0131\u015ft\u0131rmaya ve yap\u0131land\u0131r\u0131lmam\u0131\u015f verilerini toplamaya devam edecektir.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_020.png\"><img decoding=\"async\" loading=\"lazy\" width=\"980\" height=\"525\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_020.png\" alt=\"veri ayr\u0131\u015ft\u0131rma ve toplama\" class=\"wp-image-17252\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_020.png 980w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_020-300x161.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_020-18x10.png 18w\" sizes=\"(max-width: 980px) 100vw, 980px\" \/><\/a><\/figure>\n\n\n\n<ul>\n<li><strong>ADIM 3<\/strong>. Kaz\u0131y\u0131c\u0131 yaz\u0131l\u0131m daha sonra ham verileri \u00e7\u0131kar\u0131r, depolar ve ba\u015flat\u0131c\u0131 taraf\u0131ndan belirtilen \u015fekilde verilere yap\u0131 (indeksler) ekler. Yap\u0131land\u0131r\u0131lm\u0131\u015f verilere XLS, CSV, SQL veya XML gibi okunabilir formatlar arac\u0131l\u0131\u011f\u0131yla eri\u015filebilir.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web-Scraping-works-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"983\" height=\"534\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web-Scraping-works-1.png\" alt=\"veri\u0307leri\u0307n yapilandirilmasi\" class=\"wp-image-17254\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web-Scraping-works-1.png 983w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web-Scraping-works-1-300x163.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web-Scraping-works-1-18x10.png 18w\" sizes=\"(max-width: 983px) 100vw, 983px\" \/><\/a><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"02\">2. HTML Veri \u00c7\u0131karman\u0131n Temelleri: CSS ve XPath Se\u00e7icileri.<\/h2>\n\n\n\n<p>Temel bilgileri zaten biliyor olabilirsiniz: <strong><em>Web kaz\u0131ma, web sitelerinden veri \u00e7\u0131karmay\u0131 i\u00e7erir ve her \u015fey HTML- ile ba\u015flar.<\/em><\/strong>web sayfalar\u0131n\u0131n bel kemi\u011fidir. Bir HTML dosyas\u0131 i\u00e7inde s\u0131n\u0131flar ve kimlikler, tablolar, listeler, bloklar veya kapsay\u0131c\u0131lar, yani bir sayfan\u0131n yap\u0131s\u0131n\u0131 olu\u015fturan t\u00fcm temel \u00f6\u011feleri bulabilirsiniz.<\/p>\n\n\n\n<p>CSS ise HTML belgelerinin sunumunu ve d\u00fczenini kontrol etmek i\u00e7in kullan\u0131lan bir stil sayfas\u0131 dilidir. Renkler, yaz\u0131 tipleri, kenar bo\u015fluklar\u0131 ve konumland\u0131rma gibi HTML \u00f6\u011felerinin bir web sayfas\u0131nda nas\u0131l g\u00f6r\u00fcnt\u00fclenece\u011fini tan\u0131mlar. CSS, istenen \u00f6\u011felerden veri \u00e7\u0131karmaya yard\u0131mc\u0131 oldu\u011fu i\u00e7in web kaz\u0131mada \u00f6nemli bir rol oynar.&nbsp;<\/p>\n\n\n\n<p><strong><em>Not: <\/em><\/strong><em>HTML ve CSS'in ne oldu\u011funu ve nas\u0131l \u00e7al\u0131\u015ft\u0131klar\u0131n\u0131 t\u00fcm ayr\u0131nt\u0131lar\u0131yla a\u00e7\u0131klamak bu makalenin kapsam\u0131 d\u0131\u015f\u0131ndad\u0131r. HTML ve CSS ile ilgili temel becerilere zaten sahip oldu\u011funuzu varsay\u0131yoruz.&nbsp;<\/em><\/p>\n\n\n\n<p>D\u00fczenli ifadeler gibi \u00e7e\u015fitli teknikler kullanarak ham HTML'den do\u011frudan veri \u00e7\u0131karmak m\u00fcmk\u00fcn olsa da, bu ger\u00e7ekten zaman al\u0131c\u0131 ve zorlay\u0131c\u0131 olabilir. HTML'nin yap\u0131land\u0131r\u0131lm\u0131\u015f dili \"makine taraf\u0131ndan okunabilir\" olacak \u015fekilde tasarland\u0131\u011f\u0131ndan, ger\u00e7ekten karma\u015f\u0131k ve \u00e7e\u015fitli olabilir. <strong>\u0130\u015fte bu noktada CSS ve XPath se\u00e7icileri \u00f6nemli bir rol oynar.&nbsp;<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">a. HTML Derleme ve Denetleme.&nbsp;<\/h3>\n\n\n\n<p>A\u015fa\u011f\u0131daki b\u00f6l\u00fcmde, birka\u00e7 CSS ve XPath se\u00e7ici \u00f6rne\u011fi (derlenmi\u015f ve incelenmi\u015f) sunaca\u011f\u0131z. A\u015fa\u011f\u0131daki t\u00fcm HTML ve CSS \u00f6rnekleri \u00e7evrimi\u00e7i d\u00fczenleyici ile derlenmi\u015ftir <a href=\"https:\/\/html-css-js.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTML-CSS-JS<\/a>.<\/p>\n\n\n\n<p><strong>Web sitelerindeki HTML kodunu incelemek s\u00f6z konusu oldu\u011funda,<\/strong> web taray\u0131c\u0131lar\u0131 Geli\u015ftirici Ara\u00e7lar\u0131 ile birlikte gelir, b\u00f6ylece herhangi bir web sitesinde herkese a\u00e7\u0131k olan HTML veya CSS'yi tam anlam\u0131yla inceleyebilirsiniz. Bir web sayfas\u0131na sa\u011f t\u0131klay\u0131p \"\u0130ncele\", \"\u00d6\u011feyi \u0130ncele\" veya \"Kayna\u011f\u0131 \u0130ncele \"yi se\u00e7ebilirsiniz. Daha iyi bir yan yana sayfa ve kod dinami\u011fi kar\u015f\u0131la\u015ft\u0131rmas\u0131 i\u00e7in Chrome Taray\u0131c\u0131da &gt; sol \u00fcstteki \u00fc\u00e7 noktaya (1) &gt; Di\u011fer Ara\u00e7lar (2) &gt; Geli\u015ftirici Ara\u00e7lar\u0131 (3) gidin.&nbsp;<\/p>\n\n\n\n<p>Geli\u015ftirici ara\u00e7lar\u0131, dize, se\u00e7ici veya XPath ile arama yapman\u0131z\u0131 sa\u011flayan kullan\u0131\u015fl\u0131 bir arama filtresi (4) ile birlikte gelir. \u00d6rnek olarak, https:\/\/www.rapidseedbox.com\/blog\/twitter-facebook-scraper-guide adresinden baz\u0131 verileri kaz\u0131yaca\u011f\u0131z.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_1-1024x513-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"513\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_1-1024x513-1.png\" alt=\"Web kaz\u0131ma temelleri\" class=\"wp-image-22062\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_1-1024x513-1.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_1-1024x513-1-300x150.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_1-1024x513-1-18x9.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">b. CSS Se\u00e7iciler:&nbsp;<\/h3>\n\n\n\n<p>CSS se\u00e7icileri, bir web sayfas\u0131n\u0131n HTML \u00f6\u011felerini se\u00e7mek ve hedeflemek i\u00e7in kullan\u0131lan kal\u0131plard\u0131r. HTML belgelerinden veri almak i\u00e7in daha verimli ve hedefli bir yol sa\u011flad\u0131klar\u0131 i\u00e7in web kaz\u0131ma (ve stil olu\u015fturma) i\u00e7in kullan\u0131\u015fl\u0131d\u0131rlar. D\u00fczenli ifadeler gibi \u00e7e\u015fitli teknikler kullanarak do\u011frudan ham HTML'den veri ay\u0131klamak m\u00fcmk\u00fcn olsa da, CSS se\u00e7icileri web kaz\u0131ma i\u00e7in tercih edilen bir se\u00e7im haline getiren \u00e7e\u015fitli avantajlar sunar.<\/p>\n\n\n\n<p><strong>Bir web sayfas\u0131 i\u00e7indeki HTML \u00f6\u011felerini hedefleme ve se\u00e7me teknikleri:<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>i. D\u00fc\u011f\u00fcm Se\u00e7imi.<\/strong><\/h4>\n\n\n\n<p>D\u00fc\u011f\u00fcm se\u00e7imi, HTML \u00f6\u011felerini d\u00fc\u011f\u00fcm adlar\u0131na g\u00f6re se\u00e7me i\u015flemidir. \u00d6rne\u011fin, bir sayfadaki t\u00fcm 'p' \u00f6\u011felerini veya t\u00fcm 'a' \u00f6\u011felerini se\u00e7mek gibi. Bu teknik, HTML belgesindeki belirli \u00f6\u011fe t\u00fcrlerini hedeflemenize olanak tan\u0131r.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_027.40.png\"><img decoding=\"async\" loading=\"lazy\" width=\"808\" height=\"159\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_027.40.png\" alt=\"Web Kaz\u0131ma \u00d6rne\u011fi\" class=\"wp-image-22256\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_027.40.png 808w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_027.40-300x59.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_027.40-18x4.png 18w\" sizes=\"(max-width: 808px) 100vw, 808px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_8.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"474\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_8-1024x474.png\" alt=\"CSS Se\u00e7icileri\" class=\"wp-image-17274\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_8-1024x474.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_8-300x139.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_8-18x8.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_8.png 1334w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Foto\u011fraf <a href=\"https:\/\/html-css-js.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTML-CSS-JS<\/a><\/em><\/figcaption><\/figure>\n\n\n\n<p><strong>Ger\u00e7ek Hayat \u00d6rne\u011fi:<\/strong> H2'leri manuel olarak aramak.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_11-1024x481-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"481\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_11-1024x481-1.png\" alt=\"Web kaz\u0131y\u0131c\u0131 temelleri\" class=\"wp-image-22015\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_11-1024x481-1.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_11-1024x481-1-300x141.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_11-1024x481-1-18x8.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>ii. S\u0131n\u0131f.<\/strong><\/h4>\n\n\n\n<p>CSS Se\u00e7iciler'de s\u0131n\u0131f se\u00e7imi, HTML \u00f6\u011felerinin atanm\u0131\u015f s\u0131n\u0131f niteliklerine g\u00f6re se\u00e7ilmesini i\u00e7erir. S\u0131n\u0131f niteli\u011fi, bir veya daha fazla \u00f6\u011feye belirli bir s\u0131n\u0131f ad\u0131 uygulaman\u0131z\u0131 sa\u011flar. Ayr\u0131ca CSS stillerinde veya JavaScript'te, bu s\u0131n\u0131fa sahip t\u00fcm \u00f6\u011felere uygulanabilir. 'S\u0131n\u0131f' adlar\u0131na \u00f6rnek olarak d\u00fc\u011fmeler, form \u00f6\u011feleri, gezinme men\u00fcleri, \u0131zgara d\u00fczenleri ve daha fazlas\u0131 verilebilir.&nbsp;<\/p>\n\n\n\n<p><strong>\u00d6rnek:<\/strong> A\u015fa\u011f\u0131daki CSS Se\u00e7ici: 'highlight', s\u0131n\u0131f niteli\u011fi \"highlight\" olarak ayarlanm\u0131\u015f t\u00fcm \u00f6\u011feleri se\u00e7ecektir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.00.png\"><img decoding=\"async\" loading=\"lazy\" width=\"807\" height=\"158\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.00.png\" alt=\"Web Kaz\u0131ma \u00d6rne\u011fi\" class=\"wp-image-22257\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.00.png 807w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.00-300x59.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.00-18x4.png 18w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.09.png\"><img decoding=\"async\" loading=\"lazy\" width=\"807\" height=\"185\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.09.png\" alt=\"Web Kaz\u0131ma \u00d6rne\u011fi\" class=\"wp-image-22258\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.09.png 807w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.09-300x69.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.09-18x4.png 18w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_10.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"464\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_10-1024x464.png\" alt=\"CSS Se\u00e7icileri\" class=\"wp-image-17276\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_10-1024x464.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_10-300x136.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_10-18x8.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_10.png 1440w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Foto\u011fraf <a href=\"https:\/\/html-css-js.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTML-CSS-JS<\/a><\/em><\/figcaption><\/figure>\n\n\n\n<p><strong>Ger\u00e7ek Hayat \u00d6rne\u011fi:&nbsp;<\/strong>S\u0131n\u0131flar\u0131 manuel olarak arama.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_4-1024x507-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"507\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_4-1024x507-1.png\" alt=\"Web kaz\u0131ma temelleri\" class=\"wp-image-22033\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_4-1024x507-1.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_4-1024x507-1-300x149.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_4-1024x507-1-18x9.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>iii. Kimlik K\u0131s\u0131tlamalar\u0131.<\/strong><\/h4>\n\n\n\n<p>ID k\u0131s\u0131tlamalar\u0131, benzersiz ID niteli\u011fine dayal\u0131 olarak bir HTML \u00f6\u011fesinin se\u00e7ilmesine yard\u0131mc\u0131 olur. Bu ID niteli\u011fi, web sayfas\u0131ndaki tek bir \u00f6\u011feyi benzersiz bir \u015fekilde tan\u0131mlamak i\u00e7in kullan\u0131l\u0131r. Birden fazla \u00f6\u011fede kullan\u0131labilen s\u0131n\u0131flar\u0131n aksine, ID'ler sayfa i\u00e7inde benzersiz olmal\u0131d\u0131r.&nbsp;<\/p>\n\n\n\n<p><strong>\u00d6rnek: <\/strong>CSS Se\u00e7ici '#header', ID niteli\u011fi \"header\" olarak ayarlanm\u0131\u015f \u00f6\u011feyi se\u00e7ecektir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.22.png\"><img decoding=\"async\" loading=\"lazy\" width=\"805\" height=\"159\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.22.png\" alt=\"Web Kaz\u0131ma \u00d6rne\u011fi\" class=\"wp-image-22259\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.22.png 805w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.22-300x59.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.22-18x4.png 18w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.46.png\"><img decoding=\"async\" loading=\"lazy\" width=\"807\" height=\"132\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.46.png\" alt=\"Web Kaz\u0131ma \u00d6rne\u011fi\" class=\"wp-image-22260\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.46.png 807w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.46-300x49.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_028.46-18x3.png 18w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_2.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"472\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_2-1024x472.png\" alt=\"CSS Se\u00e7icileri\" class=\"wp-image-17268\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_2-1024x472.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_2-300x138.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_2-18x8.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_2.png 1438w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Foto\u011fraf <a href=\"https:\/\/html-css-js.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">HTML-CSS-JS<\/a><\/em><\/figcaption><\/figure>\n\n\n\n<p><strong>Ger\u00e7ek hayattan \u00f6rnek:<\/strong> Kimlikleri manuel olarak arama. #01'i bulduktan sonra id=\"01\u2033'i bulman\u0131z gerekecektir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-markers.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"520\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-markers.png\" alt=\"kimliklerin aranmas\u0131\" class=\"wp-image-22473\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-markers.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-markers-300x152.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-markers-18x9.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>iv. \u00d6znitelik E\u015fle\u015ftirme.<\/strong><\/h4>\n\n\n\n<p>Bu teknik, HTML \u00f6\u011felerini belirli \u00f6zniteliklere ve bunlar\u0131n de\u011ferlerine g\u00f6re se\u00e7meyi i\u00e7erir. Belirli bir \u00f6zniteli\u011fe veya \u00f6znitelik de\u011ferine sahip \u00f6\u011feleri hedeflemenizi sa\u011flar. Tam e\u015fleme, alt dize e\u015fleme ve daha fazlas\u0131 gibi farkl\u0131 \u00f6znitelik e\u015fleme t\u00fcrleri vard\u0131r.<\/p>\n\n\n\n<p><strong>\u00d6rnek: <\/strong>A\u015fa\u011f\u0131daki \u00f6rnekte veri t\u00fcr\u00fc adl\u0131 \u00f6zel bir nitelik g\u00f6sterilmektedir. Belirli \u00f6\u011feleri (\u00f6rne\u011fin \"meyve\" olarak i\u015faretlenmi\u015f liste \u00f6\u011feleri) hedeflemek veya stil vermek i\u00e7in, \u00f6\u011feleri \u00f6znitelik de\u011ferlerine g\u00f6re se\u00e7en CSS se\u00e7icisini kullanabilirsiniz.<\/p>\n\n\n\n<p>Yaln\u0131zca \"meyve\" olarak i\u015faretlenmi\u015f \u00f6\u011feleri kaz\u0131mak i\u00e7in a\u015fa\u011f\u0131daki CSS se\u00e7iciyi kullanabilirsiniz:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.16.png\"><img decoding=\"async\" loading=\"lazy\" width=\"807\" height=\"134\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.16.png\" alt=\"Web Kaz\u0131ma \u00d6rne\u011fi\" class=\"wp-image-22262\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.16.png 807w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.16-300x50.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.16-18x3.png 18w\" sizes=\"(max-width: 807px) 100vw, 807px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_6.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"436\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_6-1024x436.png\" alt=\"CSS Se\u00e7icileri\" class=\"wp-image-17272\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_6-1024x436.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_6-300x128.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_6-18x8.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_6.png 1413w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p><strong>Ger\u00e7ek Hayat \u00d6rne\u011fi:<\/strong> \u00d6znitelikleri manuel olarak arama.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/data-type.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"487\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/data-type.png\" alt=\"\u00f6znitelikler i\u00e7in arama\" class=\"wp-image-22334\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/data-type.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/data-type-300x143.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/data-type-18x9.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">c. Xpath Se\u00e7icileri:<\/h3>\n\n\n\n<p>CSS se\u00e7icileri, HTML yap\u0131s\u0131n\u0131n nispeten basit oldu\u011fu basit web kaz\u0131ma g\u00f6revleri i\u00e7in idealdir. Ancak HTML yap\u0131s\u0131 daha girift ve karma\u015f\u0131k hale geldi\u011finde, ba\u015fka bir \u00e7\u00f6z\u00fcm vard\u0131r: XPath se\u00e7icileri.&nbsp;<\/p>\n\n\n\n<p><strong><a href=\"https:\/\/www.w3schools.com\/xml\/xpath_syntax.asp\" target=\"_blank\" rel=\"noreferrer noopener\">XPath Se\u00e7icileri (XML Yol Dili Se\u00e7icileri)<\/a> bir XML veya HTML belgesinin \u00f6\u011feleri aras\u0131nda gezinmek i\u00e7in kullan\u0131lan esnek bir yol dilidir. <\/strong>HTML kodu i\u00e7indeki belirli d\u00fc\u011f\u00fcmlerin konum, ad, nitelik veya i\u00e7erik temelinde se\u00e7ilmesine yard\u0131mc\u0131 olurlar. XPath se\u00e7icileri, s\u0131n\u0131f ve ID niteliklerine dayal\u0131 olarak \u00f6\u011feleri hedeflemek i\u00e7in de yararl\u0131 olabilir.<\/p>\n\n\n\n<p><strong>\u0130\u015fte web kaz\u0131ma i\u00e7in \u00fc\u00e7 XPath se\u00e7ici \u00f6rne\u011fi.<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>i. \u00d6rnek 1: XPath \u0130fadesi: ' \/\/a<\/strong><\/h4>\n\n\n\n<p>XPath ifadesi ' \/\/a', belgedeki konumlar\u0131ndan ba\u011f\u0131ms\u0131z olarak sayfadaki t\u00fcm '<a>' \u00f6\u011felerini se\u00e7er. A\u015fa\u011f\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fc, sayfadaki t\u00fcm '<a>' \u00f6\u011felerinin manuel olarak konumland\u0131r\u0131lmas\u0131n\u0131 g\u00f6stermektedir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/scraping-links.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"494\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/scraping-links.png\" alt=\"sayfadaki \u00f6\u011feler\" class=\"wp-image-22425\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/scraping-links.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/scraping-links-300x145.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/scraping-links-18x9.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>ii. \u00d6rnek 2: ' \/\/h2[1]\/text()'<\/strong><\/h4>\n\n\n\n<p>XPath \u0130fadesi:<\/p>\n\n\n\n<p><strong>' \/\/h2[1]\/text() '<\/strong><\/p>\n\n\n\n<p>Sayfadaki ilk h2 ba\u015fl\u0131\u011f\u0131n\u0131n metin i\u00e7eri\u011fini se\u00e7ecektir. '[1]' indeksi h2 \u00f6\u011fesinin ilk olu\u015fumunu belirtmek i\u00e7in kullan\u0131l\u0131r, ayr\u0131ca '[2]' indeksi ile ikinci olu\u015fumu da belirtebilirsiniz ve bu b\u00f6yle devam eder. A\u015fa\u011f\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fc, bu XPath se\u00e7icisini kullanarak sayfadaki ilk h2 ba\u015fl\u0131\u011f\u0131n\u0131n manuel olarak bulunmas\u0131n\u0131 g\u00f6stermektedir.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-headings.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"512\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-headings.png\" alt=\"xpath se\u00e7icileri - ba\u015fl\u0131klar\" class=\"wp-image-22376\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-headings.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-headings-300x150.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/finding-headings-18x9.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>iii. \u00d6rnek 3. ' \/\/* [@data-type=\"form\"]'<\/strong><\/h4>\n\n\n\n<p>XPath ifadesi ` \/\/* [@data-type=\"form\"]`, \"form\" de\u011ferine sahip bir veri \u00f6zniteli\u011fine sahip t\u00fcm \u00f6\u011feleri se\u00e7er. *` sembol\u00fc, d\u00fc\u011f\u00fcm ad\u0131 ne olursa olsun, belirtilen veri \u00f6zniteli\u011fine sahip t\u00fcm \u00f6\u011felerin se\u00e7ilece\u011fini belirtir. A\u015fa\u011f\u0131daki ekran g\u00f6r\u00fcnt\u00fcs\u00fc \"form\" de\u011ferine sahip \u00f6\u011feleri manuel olarak bulma i\u015flemini g\u00f6stermektedir.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_5-1024x479-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"479\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_5-1024x479-1.png\" alt=\"Web kaz\u0131ma temelleri\" class=\"wp-image-22011\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_5-1024x479-1.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_5-1024x479-1-300x140.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Basics_5-1024x479-1-18x8.png 18w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>Bu CSS ve XPath se\u00e7icilerini kullanarak bir HTML sayfas\u0131ndan verileri g\u00f6rsel olarak incelemek ve manuel olarak ay\u0131klamak sadece zaman al\u0131c\u0131 de\u011fil ayn\u0131 zamanda hatalara da a\u00e7\u0131k olabilir. Ayr\u0131ca, manuel veya g\u00f6rsel olarak veri ay\u0131klamak, b\u00fcy\u00fck \u00f6l\u00e7ekli veri toplama veya tekrarlayan kaz\u0131ma g\u00f6revleri i\u00e7in tamamen uygun de\u011fildir. \u0130\u015fte bu noktada komut dosyas\u0131 olu\u015fturma ve programlama son derece faydal\u0131d\u0131r.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-center\"><strong>RapidSeedbox'\u0131n h\u0131zl\u0131, g\u00fcvenli ve anonim proxy'leri ile web kaz\u0131ma i\u015flemlerinizi geli\u015ftirin.<\/strong><\/h4>\n\n\n\n<div class=\"wp-block-group is-layout-constrained\"><div class=\"wp-block-group__inner-container\">\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-2\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-background wp-element-button\" href=\"https:\/\/www.rapidseedbox.com\/tr\/proxy\/?blog=web-scraping\" style=\"background-color:#22c55e\"><strong>Kaz\u0131maya ba\u015flay\u0131n!<\/strong><\/a><\/div>\n<\/div>\n<\/div><\/div>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Web kaz\u0131ma i\u00e7in en iyi programlama dilleri hangileridir? <\/strong><\/h4>\n\n\n\n<p><strong>Kaz\u0131ma i\u00e7in en pop\u00fcler programlama dili, k\u00fct\u00fcphaneleri ve paketleri nedeniyle Python'dur (bu konuda daha fazla bilgi bir sonraki b\u00f6l\u00fcmde.) Bir ba\u015fka pop\u00fcler programlama dili <a href=\"https:\/\/www.rapidseedbox.com\/blog\/web-scraping-with-r\" target=\"_blank\" rel=\"noreferrer noopener\">web kaz\u0131ma R<\/a>\u00e7\u00fcnk\u00fc bu ayn\u0131 zamanda harika bir desteklenen k\u00fct\u00fcphane ve \u00e7er\u00e7eve setine sahiptir.<\/strong> Ayr\u0131ca, bir\u00e7ok web kaz\u0131y\u0131c\u0131n\u0131n kulland\u0131\u011f\u0131 pop\u00fcler bir programlama dili olan C#'den de bahsetmek gerekir. ZenRows gibi web sitelerinde a\u015fa\u011f\u0131dakiler hakk\u0131nda kapsaml\u0131 k\u0131lavuzlar bulunmaktad\u0131r <strong><a href=\"https:\/\/www.zenrows.com\/blog\/web-scraping-c-sharp\" target=\"_blank\" rel=\"noreferrer noopener\">C#'de bir web sitesi nas\u0131l kaz\u0131n\u0131r<\/a><\/strong>Bu da geli\u015ftiricilerin s\u00fcreci anlamalar\u0131n\u0131 ve kendi projelerini ba\u015flatmalar\u0131n\u0131 kolayla\u015ft\u0131r\u0131r.<\/p>\n\n\n\n<p>Basitlik ad\u0131na, bu web kaz\u0131ma k\u0131lavuzu Python ile web kaz\u0131ma \u00fczerine odaklanacakt\u0131r. Okumaya devam edin!<\/p>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"03\">3. Python ile Web Kaz\u0131ma (Kodlu).<\/h2>\n\n\n\n<p><strong>Programlama dilleriyle sistematik ve otomatik bir \u015fekilde kullanabilecekken neden CSS se\u00e7icileri veya XPath se\u00e7icileri kullanarak HTML verilerini g\u00f6rsel olarak inceleyip manuel olarak ay\u0131klayas\u0131n\u0131z ki?  <\/strong><\/p>\n\n\n\n<p>Daha kolay veri \u00e7\u0131kar\u0131m\u0131 i\u00e7in CSS se\u00e7icilerini destekleyen bir\u00e7ok pop\u00fcler web kaz\u0131ma k\u00fct\u00fcphanesi ve \u00e7er\u00e7evesi vard\u0131r. Web kaz\u0131ma i\u00e7in en pop\u00fcler programlama dillerinden biri <a href=\"https:\/\/www.python.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Python<\/a>gibi k\u00fct\u00fcphaneleri i\u00e7in <a href=\"https:\/\/www.crummy.com\/software\/BeautifulSoup\/bs4\/doc\/\" target=\"_blank\" rel=\"noreferrer noopener\">BeautifulSoup<\/a>, <a href=\"https:\/\/pypi.org\/project\/requests\/\" target=\"_blank\" rel=\"noreferrer noopener\">Talepler<\/a>, <a href=\"https:\/\/cssselect.readthedocs.io\/en\/latest\/\" target=\"_blank\" rel=\"noreferrer noopener\">CSS-Se\u00e7im<\/a>, <a href=\"https:\/\/pypi.org\/project\/selenium\/\" target=\"_blank\" rel=\"noreferrer noopener\">Selenyum<\/a>ve <a href=\"https:\/\/scrapy.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Scrapy<\/a>. <strong>Bu k\u00fct\u00fcphaneler web kaz\u0131y\u0131c\u0131lar\u0131n\u0131n CSS ve XPath se\u00e7icilerinden yararlanarak verileri verimli bir \u015fekilde ay\u0131klamas\u0131n\u0131 sa\u011flar.<\/strong> <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>BeautifulSoup.&nbsp;<\/strong><\/h4>\n\n\n\n<p>BeautifulSoup, HTML ve XML belgelerini ayr\u0131\u015ft\u0131rmak i\u00e7in tasarlanm\u0131\u015f en pop\u00fcler ve g\u00fc\u00e7l\u00fc Python paketlerinden biridir. Bu paket, sayfalar\u0131n bir ayr\u0131\u015ft\u0131rma a\u011fac\u0131n\u0131 olu\u015fturarak HTML'den kolayca veri \u00e7\u0131karman\u0131z\u0131 sa\u011flar.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong><em>\u0130lgin\u00e7 Ger\u00e7ek! <\/em><\/strong><em>COVID-19'a kar\u015f\u0131 m\u00fccadelede, <\/em><a href=\"https:\/\/github.com\/BlankerL\/DXY-COVID-19-Crawler\/blob\/master\/service\/crawler.py\" target=\"_blank\" rel=\"noreferrer noopener\"><em>Jiabao Lin'in DXY-COVID-19-Crawler'\u0131<\/em><\/a><em> \u00c7inli bir t\u0131bbi web sitesinden de\u011ferli verileri ay\u0131klamak i\u00e7in BeautifulSoup'u kulland\u0131. Bu sayede ara\u015ft\u0131rmac\u0131lara vir\u00fcs\u00fcn yay\u0131lmas\u0131n\u0131 izleme ve anlama konusunda yard\u0131mc\u0131 oldu. [<a href=\"https:\/\/www.crummy.com\/software\/BeautifulSoup\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kaynak<\/a>]<\/em><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u0130stekler.&nbsp;<\/strong><\/h4>\n\n\n\n<p>Python'un <a href=\"https:\/\/pypi.org\/project\/requests\/\" target=\"_blank\" rel=\"noreferrer noopener\">Talepler<\/a> basit ama g\u00fc\u00e7l\u00fc bir HTTP k\u00fct\u00fcphanesidir. Web sitelerinden veri almak i\u00e7in HTTP istekleri yapmak i\u00e7in kullan\u0131\u015fl\u0131d\u0131r. \"Requests\", web kaz\u0131ma Python projenizde HTTP istekleri g\u00f6nderme ve yan\u0131tlar\u0131 i\u015fleme s\u00fcrecini basitle\u015ftirir.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">a. Python ile Web Kaz\u0131ma E\u011fitimi (+ Kod)<\/h3>\n\n\n\n<p>Python ile web kaz\u0131ma i\u00e7in bu e\u011fitimde, \"requests\" ve BeautifulSoup k\u00fct\u00fcphanesi ile Python kodunu kullanarak bir hedef HTML web sitesinden veri alaca\u011f\u0131z.&nbsp;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>\u00d6nko\u015fullar:<\/strong><\/h4>\n\n\n\n<p>A\u015fa\u011f\u0131daki \u00f6n ko\u015fullar\u0131n kar\u015f\u0131land\u0131\u011f\u0131ndan emin olun:<\/p>\n\n\n\n<ul>\n<li><strong>Python ortam\u0131:<\/strong> Sahip oldu\u011funuzdan emin olun <a href=\"https:\/\/www.python.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Python<\/a> bilgisayar\u0131n\u0131zda y\u00fckl\u00fc olmal\u0131d\u0131r. Ayr\u0131ca, beti\u011fi tercih etti\u011finiz Python ortam\u0131nda \u00e7al\u0131\u015ft\u0131rabildi\u011finizden emin olun (\u00f6rn, <a href=\"https:\/\/docs.python.org\/es\/3\/library\/idle.html\" target=\"_blank\" rel=\"noreferrer noopener\">IDLE<\/a> veya <a href=\"https:\/\/jupyter.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">Jupyter Notebook<\/a>).&nbsp;<\/li>\n\n\n\n<li><strong>\u0130stek K\u00fct\u00fcphanesi:<\/strong> Requests` k\u00fct\u00fcphanesini y\u00fckleyin. Belirtilen URL'ye HTTP GET istekleri g\u00f6ndermek i\u00e7in kullan\u0131l\u0131r. Komut isteminizde veya terminalinizde `pip install requests` komutunu \u00e7al\u0131\u015ft\u0131rarak `pip` kullanarak y\u00fckleyebilirsiniz.<\/li>\n\n\n\n<li><strong>BeautifulSoup K\u00fct\u00fcphanesi: <\/strong>beautifulsoup4` k\u00fct\u00fcphanesini y\u00fckleyin. Terminalinizde `pip install beautifulsoup4` komutunu \u00e7al\u0131\u015ft\u0131rarak `pip` kullanarak y\u00fckleyebilirsiniz.<\/li>\n<\/ul>\n\n\n\n<p><strong>Bir sayfadan veri kaz\u0131mak i\u00e7in Python kodu (BeautifulSoup ile)<\/strong><\/p>\n\n\n\n<p>A\u015fa\u011f\u0131daki kod belirtilen URL'yi getirir, BeautifulSoup kullanarak HTML i\u00e7eri\u011fini ayr\u0131\u015ft\u0131r\u0131r ve web sayfas\u0131ndaki en iyi haber makalelerinin ba\u015fl\u0131klar\u0131n\u0131 yazd\u0131r\u0131r.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.56.png\"><img decoding=\"async\" loading=\"lazy\" width=\"808\" height=\"568\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.56.png\" alt=\"Web Kaz\u0131ma \u00d6rne\u011fi\" class=\"wp-image-22263\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.56.png 808w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.56-300x211.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_029.56-18x12.png 18w\" sizes=\"(max-width: 808px) 100vw, 808px\" \/><\/a><\/figure>\n\n\n\n<p>Komut dosyas\u0131 IDLE Kabu\u011funda \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda, ekran hedeflenen web sitesinden toplanan t\u00fcm \"haber_ba\u015fl\u0131klar\u0131n\u0131\" yazd\u0131r\u0131r. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/script-on-idle-shell-1.png\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"512\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/script-on-idle-shell-1-1024x512.png\" alt=\"IDLE kabu\u011funda komut dosyas\u0131 \u00e7al\u0131\u015ft\u0131rma\" class=\"wp-image-28662\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/script-on-idle-shell-1-1024x512.png 1024w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/script-on-idle-shell-1-300x150.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/script-on-idle-shell-1-18x9.png 18w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/script-on-idle-shell-1.png 1365w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">b. Web kaz\u0131ma i\u00e7in Python kodumuzun varyasyonlar\u0131.&nbsp;<\/h3>\n\n\n\n<p>\u00d6nceki web kaz\u0131ma Python kodumuzu alabilir ve farkl\u0131 veri t\u00fcrlerini kaz\u0131mak i\u00e7in baz\u0131 varyasyonlar yapabiliriz.&nbsp;<\/p>\n\n\n\n<p><strong>\u00d6rne\u011fin:&nbsp;<\/strong><\/p>\n\n\n\n<ul>\n<li><strong>G\u00f6r\u00fcnt\u00fc Bulma: <\/strong>Web sayfas\u0131ndaki t\u00fcm resim etiketlerini (<img>) bulmak i\u00e7in, 'img' etiket ad\u0131yla find_all() y\u00f6ntemini kullanabilirsiniz:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.21.png\"><img decoding=\"async\" loading=\"lazy\" width=\"805\" height=\"208\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.21.png\" alt=\"Web Kaz\u0131ma \u00d6rne\u011fi\" class=\"wp-image-22264\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.21.png 805w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.21-300x78.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.21-18x5.png 18w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><\/figure>\n\n\n\n<ul>\n<li><strong>Ba\u011flant\u0131lar\u0131 Bulma: <\/strong>Web sayfas\u0131ndaki ba\u011flant\u0131lar\u0131 temsil eden t\u00fcm anchor etiketlerini (<a>) bulmak i\u00e7in find_all() y\u00f6ntemini 'a' etiket ad\u0131yla kullanabilirsiniz:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.28.png\"><img decoding=\"async\" loading=\"lazy\" width=\"806\" height=\"210\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.28.png\" alt=\"Web Kaz\u0131ma \u00d6rne\u011fi\" class=\"wp-image-22265\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.28.png 806w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.28-300x78.png 300w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/Web_Scraping_Examples_030.28-18x5.png 18w\" sizes=\"(max-width: 806px) 100vw, 806px\" \/><\/a><\/figure>\n\n\n\n<p>Sa\u011flanan betik (varyasyonlarla birlikte) temel bir web kaz\u0131ma beti\u011fidir. Sadece belirtilen URL'den en iyi haber makalelerinin ba\u015fl\u0131klar\u0131n\u0131 \u00e7\u0131kar\u0131r ve yazd\u0131r\u0131r. Ancak, ne yaz\u0131k ki, bu basit betik daha kapsaml\u0131 bir web kaz\u0131ma projesi olu\u015fturan bir\u00e7ok \u00f6zellikten yoksundur. <strong><em>Veri depolama, hata i\u015fleme, sayfalama\/tarama, kullan\u0131c\u0131 arac\u0131s\u0131 ve ba\u015fl\u0131k kullan\u0131m\u0131, k\u0131s\u0131tlama ve nezaket \u00f6nlemleri ve dinamik i\u00e7eri\u011fi i\u015fleme yetene\u011fi eklemeyi d\u00fc\u015f\u00fcnebilece\u011finiz birka\u00e7 unsur vard\u0131r.<\/em><\/strong>&nbsp;<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"06\">4. Web Kaz\u0131ma Yasal m\u0131?&nbsp;<\/h2>\n\n\n\n<p>Web kaz\u0131ma genellikle tart\u0131\u015fmal\u0131 veya yasad\u0131\u015f\u0131 olarak alg\u0131lan\u0131r. Ancak ger\u00e7ekte, belirli etik ve yasal s\u0131n\u0131rlara uyuldu\u011fu takdirde web kaz\u0131ma tamamen yasal olan me\u015fru bir uygulamad\u0131r. <\/p>\n\n\n\n<p>Web kaz\u0131man\u0131n yasall\u0131\u011f\u0131, \u00e7\u0131kar\u0131lan verilerin niteli\u011fine ve kullan\u0131lan y\u00f6ntemlere ba\u011fl\u0131d\u0131r. <strong>Web kaz\u0131ma, internetten kamuya a\u00e7\u0131k bilgileri toplamak i\u00e7in kullan\u0131ld\u0131\u011f\u0131nda yasal kabul edilir. <\/strong>Bununla birlikte, \u00f6zellikle ki\u015fisel veriler veya telif hakk\u0131yla korunan i\u00e7erikle u\u011fra\u015f\u0131rken her zaman dikkatli olunmas\u0131 gerekir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u0130\u015fte ak\u0131lda tutulmas\u0131 gereken birka\u00e7 ipucu:<\/strong><\/h3>\n\n\n\n<ul>\n<li><strong>\u00d6zel verileri kaz\u0131may\u0131n. <\/strong>Kamuya a\u00e7\u0131k olmayan verileri \u00e7\u0131karmak da yasalara ayk\u0131r\u0131d\u0131r. Kullan\u0131c\u0131 ve parola giri\u015fi olan bir giri\u015f sayfas\u0131n\u0131n arkas\u0131ndaki verileri kaz\u0131mak ABD, Kanada ve Avrupa'n\u0131n \u00e7o\u011funda yasalara ayk\u0131r\u0131d\u0131r.&nbsp;<\/li>\n\n\n\n<li><strong>Verilerle ne yapt\u0131\u011f\u0131n\u0131z ba\u015f\u0131n\u0131z\u0131 belaya sokabilir.<\/strong> Etik web kaz\u0131ma, toplanan verilere ve bunlar\u0131n kullan\u0131m ama\u00e7lar\u0131na dikkat edilmesini gerektirir. Ki\u015fisel verilere ve fikri m\u00fclkiyete \u00f6zel \u00f6nem verilmelidir. Ki\u015fisel verilerin i\u015flenmesini d\u00fczenleyen GDPR ve CCPA gibi d\u00fczenlemelere uydu\u011funuzdan emin olun. \u00d6rne\u011fin, i\u00e7eri\u011fi yeniden kullanmak veya yeniden satmak ya da telif hakk\u0131yla korunan materyalleri indirmek yasa d\u0131\u015f\u0131d\u0131r (ve bundan ka\u00e7\u0131n\u0131lmal\u0131d\u0131r).<\/li>\n\n\n\n<li><strong>Web sitelerindeki Hizmet \u015eartlar\u0131n\u0131 g\u00f6zden ge\u00e7irmek de \u00f6nemlidir. <\/strong>Bunlar, hizmetlerini veya i\u00e7eriklerini kullanan ki\u015fileri kaynaklarla nas\u0131l etkile\u015fime girmeleri ve girmemeleri gerekti\u011fi konusunda y\u00f6nlendiren belgelerdir. <\/li>\n\n\n\n<li><strong>Her zaman resmi olarak sa\u011flanan API'leri kullanmak gibi alternatiflerden emin olun.<\/strong> Some websites like Government agencies, Weather, and Social media platforms make some of their data accessible to the public via APIs.&nbsp;<\/li>\n\n\n\n<li><strong>Robots.txt dosyas\u0131n\u0131 kontrol etmeyi d\u00fc\u015f\u00fcn\u00fcn.<\/strong> This file is saved on the web server and gives directions to web crawlers and web scraping about what parts of a website to avoid and what parts are authorized. It also gives directions about the <a href=\"https:\/\/www.rapidseedbox.com\/blog\/web-scraping-rate-limiting\" target=\"_blank\" rel=\"noreferrer noopener\">rate limits<\/a>. <\/li>\n\n\n\n<li><strong>Web kaz\u0131ma sald\u0131r\u0131lar\u0131 ba\u015flatmaktan ka\u00e7\u0131n\u0131n.&nbsp;<\/strong>Ba\u011flama ba\u011fl\u0131 olarak, bazen web kaz\u0131ma, kaz\u0131ma sald\u0131r\u0131s\u0131 olarak adland\u0131r\u0131l\u0131r. Spam g\u00f6nderenler botnet (bot ordular\u0131) kullanarak b\u00fcy\u00fck ve h\u0131zl\u0131 taleplerle bir web sitesini hedef ald\u0131\u011f\u0131nda, t\u00fcm web sitesinin hizmeti ba\u015far\u0131s\u0131z olabilir. B\u00fcy\u00fck \u00f6l\u00e7ekli veri kaz\u0131ma sald\u0131r\u0131lar\u0131 t\u00fcm siteleri \u00e7\u00f6kertebilir.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Web kaz\u0131man\u0131n yasal y\u00f6nleri hakk\u0131nda son haberler.<\/strong><\/h3>\n\n\n\n<p><strong> <\/strong>Son yasal kararlar, kamuya a\u00e7\u0131k verilerin kaz\u0131nmas\u0131n\u0131n genellikle bir ihlal olarak de\u011ferlendirilmedi\u011fini a\u00e7\u0131kl\u0131\u011fa kavu\u015fturmu\u015ftur. ABD temyiz mahkemesi taraf\u0131ndan verilen d\u00f6n\u00fcm noktas\u0131 niteli\u011findeki bir karar, internette kamuya a\u00e7\u0131k verilerin kaz\u0131nmas\u0131n\u0131n Bilgisayar Sahtekarl\u0131\u011f\u0131 ve Suistimal Yasas\u0131n\u0131 (CFAA) ihlal etmedi\u011fini belirterek web kaz\u0131man\u0131n yasall\u0131\u011f\u0131n\u0131 yeniden teyit etmi\u015ftir [kaynak: <a href=\"https:\/\/techcrunch.com\/2022\/04\/18\/web-scraping-legal-court\/\" target=\"_blank\" rel=\"noreferrer noopener\">TechCrunch<\/a>].<\/p>\n\n\n\n<p>Di\u011fer yandan, OpenAI ve Microsoft'a kar\u015f\u0131 a\u00e7\u0131lan son davalar, gizlilik, fikri m\u00fclkiyet ve bilgisayar korsanl\u0131\u011f\u0131 kar\u015f\u0131t\u0131 yasalarla ilgili endi\u015felerin alt\u0131n\u0131 \u00e7iziyor [<a href=\"https:\/\/news.bloomberglaw.com\/ip-law\/openais-legal-woes-driven-by-unclear-mesh-of-web-scraping-laws\" target=\"_blank\" rel=\"noreferrer noopener\">Bloomberg<\/a>]. CFAA s\u0131n\u0131rl\u0131 bir etkinli\u011fe sahipken, s\u00f6zle\u015fmenin ihlali iddialar\u0131 ve eyalet gizlilik yasalar\u0131 ara\u015ft\u0131r\u0131lmaktad\u0131r. Telif hakk\u0131 ve s\u00f6zle\u015fme hukuku aras\u0131ndaki etkile\u015fim, web kaz\u0131ma ba\u011flam\u0131nda bir\u00e7ok soruyu cevaps\u0131z b\u0131rakarak \u00e7\u00f6z\u00fclmemi\u015ftir.<\/p>\n\n\n\n<p>Son haberlerde, [kaynak: <a href=\"https:\/\/timesofindia.indiatimes.com\/gadgets-news\/explained-what-is-data-scraping-and-why-elon-musk-is-changing-twitter-rules-over-it\/articleshow\/101451275.cms\" target=\"_blank\" rel=\"noreferrer noopener\">IndiaTimes<\/a>] Elon Musk, a\u015f\u0131r\u0131 d\u00fczeyde veri kaz\u0131may\u0131 \u00f6nlemek i\u00e7in Twitter kurallar\u0131n\u0131 de\u011fi\u015ftiriyor. Musk'a g\u00f6re, a\u015f\u0131r\u0131 web kaz\u0131ma kullan\u0131c\u0131 deneyimini olumsuz etkiliyor. Bunun sorumlusu olarak da \u00fcretici yapay zeka i\u00e7in b\u00fcy\u00fck dil modelleri kullanan kurulu\u015flar\u0131 g\u00f6sterdi. <\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"08\">5. Web Siteleri Web Kaz\u0131may\u0131 Nas\u0131l Engellemeye \u00c7al\u0131\u015f\u0131r?&nbsp;<\/h2>\n\n\n\n<p>\u015eirketler, verilerinin bir k\u0131sm\u0131n\u0131n insan ziyaret\u00e7iler taraf\u0131ndan eri\u015filebilir olmas\u0131n\u0131 ister. Ancak \u015firketler veya kullan\u0131c\u0131lar siteden agresif bir \u015fekilde veri \u00e7ekmek i\u00e7in otomatik komut dosyalar\u0131 veya botlar kulland\u0131\u011f\u0131nda, hedef web sunucusu ve sayfas\u0131nda \u00e7ok fazla gizlilik ve kaynak k\u00f6t\u00fcye kullan\u0131m\u0131 olabilir. Bu ma\u011fdur siteler bu t\u00fcr trafi\u011fi cayd\u0131rmay\u0131 tercih eder.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"09\">Kaz\u0131ma \u00d6nleme Teknikleri.<\/h3>\n\n\n\n<ul>\n<li><strong>Tek bir kaynaktan gelen ola\u011fand\u0131\u015f\u0131 ve y\u00fcksek miktarda trafik.&nbsp;<\/strong>Web sunucular\u0131, trafi\u011fi engellemek i\u00e7in g\u00fcr\u00fclt\u00fcl\u00fc IP adreslerinin kara listelerini i\u00e7eren WAF'lar (Web Uygulamas\u0131 G\u00fcvenlik Duvarlar\u0131), \"ola\u011fand\u0131\u015f\u0131\" istek oranlar\u0131 ve boyutlar\u0131na ili\u015fkin filtreler ve filtreleme mekanizmalar\u0131 kullanabilir. Baz\u0131 siteler, bu t\u00fcr IP'lerden gelen g\u00fcr\u00fclt\u00fcy\u00fc tamamen filtrelemek veya azaltmak i\u00e7in WAF ve CDN (\u0130\u00e7erik Da\u011f\u0131t\u0131m A\u011flar\u0131) kombinasyonunu kullan\u0131r. <\/li>\n\n\n\n<li><strong>Baz\u0131 web siteleri bot benzeri tarama modellerini tespit edebilir.<\/strong>&nbsp;\u00d6nceki tekni\u011fe benzer \u015fekilde, web siteleri de User-Agent'a (HTTP ba\u015fl\u0131\u011f\u0131) dayal\u0131 istekleri engeller. Botlar normal bir taray\u0131c\u0131 kullanmazlar. Bu botlar farkl\u0131 kullan\u0131c\u0131 arac\u0131s\u0131 dizelerine (yani, crawler, spider veya bot), \u00e7e\u015fitlilik eksikli\u011fine, ba\u015fl\u0131klar\u0131n yoklu\u011funa (<a href=\"https:\/\/www.rapidseedbox.com\/blog\/headless-browser-guide\" target=\"_blank\" rel=\"noreferrer noopener\">ba\u015fs\u0131z taray\u0131c\u0131lar<\/a>), talep oranlar\u0131 ve daha fazlas\u0131. <\/li>\n\n\n\n<li><strong>Web siteleri de HTML bi\u00e7imlendirmelerini s\u0131k s\u0131k de\u011fi\u015ftirir.<\/strong> Web kaz\u0131ma botlar\u0131 bir web sitesinin i\u00e7eri\u011finde gezinirken tutarl\u0131 bir \"HTML i\u015faretleme\" rotas\u0131 izler. Baz\u0131 web siteleri i\u015faretlemedeki HTML \u00f6\u011felerini d\u00fczenli olarak ve rastgele de\u011fi\u015ftirir. Bu teknik, bir botu d\u00fczenli kaz\u0131ma al\u0131\u015fkanl\u0131\u011f\u0131ndan veya program\u0131ndan sapt\u0131r\u0131r. HTML i\u015faretlemesini de\u011fi\u015ftirmek web kaz\u0131may\u0131 durdurmaz ancak \u00e7ok daha zor hale getirir.&nbsp;<\/li>\n\n\n\n<li><strong>CAPTCHA gibi zorluklar\u0131n kullan\u0131lmas\u0131.<\/strong> Ba\u015fl\u0131ks\u0131z taray\u0131c\u0131 kullanan botlardan ka\u00e7\u0131nmak i\u00e7in, baz\u0131 web siteleri CAPTCHA zorluklar\u0131 gerektirir. Ba\u015fl\u0131ks\u0131z taray\u0131c\u0131 kullanan botlar bu t\u00fcr zorluklar\u0131 \u00e7\u00f6zmekte zorlan\u0131rlar. CAPTCHA'lar robotlar taraf\u0131ndan de\u011fil, kullan\u0131c\u0131 d\u00fczeyinde (taray\u0131c\u0131 arac\u0131l\u0131\u011f\u0131yla) \u00e7\u00f6z\u00fclmek \u00fczere yap\u0131lm\u0131\u015ft\u0131r.&nbsp;<\/li>\n\n\n\n<li><strong>Baz\u0131 siteler kaz\u0131ma botlar\u0131 i\u00e7in tuzaklard\u0131r (bal k\u00fcpleri). <\/strong>Baz\u0131 web siteleri yaln\u0131zca kaz\u0131ma botlar\u0131n\u0131 tuza\u011fa d\u00fc\u015f\u00fcrmek i\u00e7in olu\u015fturulur - bu, honeypot olarak adland\u0131r\u0131lan bir tekniktir. Bu bal noktalar\u0131 yaln\u0131zca kaz\u0131ma botlar\u0131 taraf\u0131ndan g\u00f6r\u00fclebilir (s\u0131radan insan ziyaret\u00e7iler taraf\u0131ndan de\u011fil) ve web kaz\u0131y\u0131c\u0131lar\u0131n\u0131 bir tuza\u011fa y\u00f6nlendirmek i\u00e7in in\u015fa edilmi\u015ftir.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"010\">6. Web Kaz\u0131ma i\u00e7in Etik ve En \u0130yi Uygulamalar.<\/h2>\n\n\n\n<p><strong>Web kaz\u0131ma sorumlu ve etik bir \u015fekilde yap\u0131lmal\u0131d\u0131r<\/strong>. Daha \u00f6nce de belirtildi\u011fi gibi, \u015eartlar ve Ko\u015fullar\u0131 veya ToS'u okumak size uyman\u0131z gereken k\u0131s\u0131tlamalar hakk\u0131nda bir fikir verecektir. Bir web taray\u0131c\u0131s\u0131n\u0131n kurallar\u0131 hakk\u0131nda fikir edinmek istiyorsan\u0131z, ROBOTS.txt dosyas\u0131n\u0131 kontrol edin.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"435\" height=\"235\" src=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/image6-2.png\" alt=\"Robots.txt Etik web kaz\u0131ma. \" class=\"wp-image-11405\" srcset=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/image6-2.png 435w, https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/image6-2-300x162.png 300w\" sizes=\"(max-width: 435px) 100vw, 435px\" \/><\/figure>\n\n\n\n<p><strong>Web kaz\u0131maya tamamen izin verilmiyorsa veya engellenmi\u015fse, API'lerini kullan\u0131n (mevcutsa).<\/strong><\/p>\n\n\n\n<p>Ayr\u0131ca, bir sunucuyu \u00e7ok fazla istekle a\u015f\u0131r\u0131 y\u00fcklemekten ka\u00e7\u0131nmak i\u00e7in hedefin web sitesi bant geni\u015fli\u011fine dikkat edin. Hedef sunucuyu zorlamamak i\u00e7in istekleri bir oran ve do\u011fru zaman a\u015f\u0131mlar\u0131 ile otomatikle\u015ftirmek \u00e7ok \u00f6nemlidir. Ger\u00e7ek zamanl\u0131 bir kullan\u0131c\u0131y\u0131 sim\u00fcle etmek en uygun y\u00f6ntem olmal\u0131d\u0131r. Ayr\u0131ca, oturum a\u00e7ma sayfalar\u0131n\u0131n arkas\u0131ndaki verileri asla kaz\u0131may\u0131n.<\/p>\n\n\n\n<p>Kurallara uyarsan\u0131z, sorun ya\u015famazs\u0131n\u0131z.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"011\">Web Kaz\u0131ma En \u0130yi Uygulamalar\u0131.&nbsp;<\/h3>\n\n\n\n<ul>\n<li><strong>Bir Proxy kullan\u0131n.&nbsp;<\/strong>Proxy, istekleri ileten bir arac\u0131 sunucudur. Bir proxy ile web kaz\u0131ma yaparken, orijinal iste\u011finizi onun \u00fczerinden y\u00f6nlendirirsiniz. B\u00f6ylece, proxy iste\u011fi kendi IP'si ile e\u015fler ve hedef web sitesine iletir. \u015eunlar i\u00e7in bir proxy kullan\u0131n:\n<ul>\n<li><strong>IP'nizin kara listeye al\u0131nmas\u0131 veya engellenmesi olas\u0131l\u0131\u011f\u0131n\u0131 ortadan kald\u0131r\u0131n.<\/strong>&nbsp;Her zaman \u00e7e\u015fitli vekiller arac\u0131l\u0131\u011f\u0131yla talepte bulunun- <a href=\"https:\/\/www.rapidseedbox.com\/tr\/proxy\/?blog=web-scraping\" target=\"_blank\" rel=\"noreferrer noopener\">IPv6 proxy'leri<\/a>&nbsp;iyi bir \u00f6rnektir. Bir proxy havuzu, engellenmeden daha b\u00fcy\u00fck hacimli istekleri ger\u00e7ekle\u015ftirmenize yard\u0131mc\u0131 olabilir.&nbsp;<\/li>\n\n\n\n<li><strong>Co\u011frafi olarak uyarlanm\u0131\u015f i\u00e7eri\u011fi atlay\u0131n.<\/strong>&nbsp;Belirli bir b\u00f6lgedeki bir proxy, o co\u011frafi b\u00f6lgeye g\u00f6re veri kaz\u0131mak i\u00e7in kullan\u0131\u015fl\u0131d\u0131r. Bu, web siteleri ve hizmetler bir CDN'nin arkas\u0131nda oldu\u011funda kullan\u0131\u015fl\u0131d\u0131r.&nbsp;<\/li>\n\n\n\n<li><strong>D\u00f6nen Vekiller.<\/strong> D\u00f6nen Proxy'ler her yeni ba\u011flant\u0131 i\u00e7in havuzdan yeni bir IP al\u0131r (d\u00f6nd\u00fcr\u00fcr). Unutmay\u0131n ki <a href=\"https:\/\/www.rapidseedbox.com\/tr\/blog\/vpn-vs-proxy\" target=\"_blank\" rel=\"noreferrer noopener\">VPN'ler proxy de\u011fildir.<\/a> \u00c7ok benzer bir \u015fey yapmalar\u0131na ra\u011fmen, yani anonimlik sa\u011flamalar\u0131na ra\u011fmen, farkl\u0131 seviyelerde \u00e7al\u0131\u015f\u0131rlar. <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul>\n<li><strong>D\u00f6nd\u00fcr<\/strong> <strong>UA (Kullan\u0131c\u0131 Arac\u0131lar\u0131) ve HTTP \u0130stek Ba\u015fl\u0131klar\u0131.&nbsp;<\/strong>UA'lar\u0131 ve HTTP ba\u015fl\u0131klar\u0131n\u0131 d\u00f6nd\u00fcrmek i\u00e7in ger\u00e7ek web taray\u0131c\u0131lar\u0131ndan UA dizelerinin bir listesini toplaman\u0131z gerekir. Listeyi Python'daki web kaz\u0131ma kodunuza koyun ve istekleri rastgele dizeler se\u00e7ecek \u015fekilde ayarlay\u0131n.<\/li>\n\n\n\n<li><strong>S\u0131n\u0131rlar\u0131 zorlama.&nbsp;<\/strong>Talep say\u0131s\u0131n\u0131 yava\u015flat\u0131n, d\u00f6nd\u00fcr\u00fcn ve rastgele hale getirin. Bir web sitesi i\u00e7in \u00e7ok say\u0131da talepte bulunuyorsan\u0131z, i\u015fleri rastgele hale getirerek ba\u015flay\u0131n. Her iste\u011fin rastgele ve insan gibi g\u00f6r\u00fcnmesini sa\u011flay\u0131n. \u0130lk olarak, d\u00f6nen proxy'ler yard\u0131m\u0131yla her iste\u011fin IP'sini de\u011fi\u015ftirin. Ayr\u0131ca, isteklerin ba\u015fka taray\u0131c\u0131lardan geliyormu\u015f gibi g\u00f6r\u00fcnmesini sa\u011flamak i\u00e7in farkl\u0131 HTTP ba\u015fl\u0131klar\u0131 kullan\u0131n.&nbsp;<\/li>\n<\/ul>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"has-text-align-center\"><strong>RapidSeedbox'\u0131n h\u0131zl\u0131, g\u00fcvenli ve anonim proxy'leri ile web kaz\u0131ma i\u015flemlerinizi geli\u015ftirin.<\/strong><\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-4\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-background wp-element-button\" href=\"https:\/\/www.rapidseedbox.com\/tr\/proxy\/?blog=web-scraping\" style=\"background-color:#22c55e\"><strong>Kaz\u0131maya ba\u015flay\u0131n!<\/strong><\/a><\/div>\n<\/div>\n\n\n\n<div style=\"height:16px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"07\">7. Web Kaz\u0131ma SSS: S\u0131k\u00e7a Sorulan Sorular. <\/h2>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>a. Robots.txt nedir ve web kaz\u0131mada nas\u0131l bir rol oynar?&nbsp;<\/strong><\/h4>\n\n\n\n<p>Robots.txt dosyas\u0131, web sitesi sahipleri, web taray\u0131c\u0131lar\u0131 ve \"kaz\u0131y\u0131c\u0131lar\" aras\u0131nda bir ileti\u015fim arac\u0131 olarak hizmet eder. Bir web sitesinin sunucusuna yerle\u015ftirilen ve web robotlar\u0131na (taray\u0131c\u0131lar, web \u00f6r\u00fcmcekleri ve di\u011fer otomatik botlar) web sitesinin hangi b\u00f6l\u00fcmlerine eri\u015fmelerine ve kaz\u0131malar\u0131na izin verildi\u011fi ve hangi b\u00f6l\u00fcmlerden ka\u00e7\u0131nmalar\u0131 gerekti\u011fi hakk\u0131nda talimatlar sa\u011flayan bir metin dosyas\u0131d\u0131r. \"Uslu\" web taray\u0131c\u0131lar\u0131 (Googlebot gibi) robots.txt'yi otomatik olarak okuyacak \u015fekilde tasarlanm\u0131\u015ft\u0131r. Kaz\u0131y\u0131c\u0131lar bu dosyay\u0131 okumak i\u00e7in tasarlanmam\u0131\u015ft\u0131r. Bu nedenle, web sitesi sahibinin isteklerine sayg\u0131 duymak i\u00e7in robots.txt dosyas\u0131n\u0131n fark\u0131nda olmak son derece \u00f6nemlidir.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>b. Web sitesi y\u00f6neticileri \"k\u00f6t\u00fc niyetli\" veya \"yetkisiz\" web kaz\u0131ma giri\u015fimlerini \u00f6nlemek i\u00e7in hangi teknikleri kullan\u0131yor?<\/strong><\/h4>\n\n\n\n<p>T\u00fcm kaz\u0131y\u0131c\u0131lar etik ve yasal olarak veri elde etmez. Sitenin TOS'una (Hizmet \u015eartlar\u0131) veya robots.txt y\u00f6nergelerine uymazlar. Bu nedenle, web sitesi y\u00f6neticileri verilerini ve kaynaklar\u0131n\u0131 korumak i\u00e7in IP engelleme veya CAPTCHA zorluklar\u0131 gibi ek \u00f6nlemler alabilirler. Ayr\u0131ca h\u0131z s\u0131n\u0131rlay\u0131c\u0131 \u00f6nlemler, kullan\u0131c\u0131 arac\u0131s\u0131 do\u011frulama (potansiyel botlar\u0131 tan\u0131mlamak i\u00e7in), oturumlar\u0131 izleme, belirte\u00e7 tabanl\u0131 kimlik do\u011frulama, CDN (\u0130\u00e7erik Da\u011f\u0131t\u0131m A\u011flar\u0131) kullanma ve hatta davran\u0131\u015f tabanl\u0131 alg\u0131lama sistemleri kullanabilirler.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>c. Web Kaz\u0131ma vs. Web Tarama?<\/strong><\/h4>\n\n\n\n<p>Although web scraping and web crawling are both web data extraction techniques, they have different purposes, scopes, automation, and legal aspects. On the one hand, web scraping techniques aim to extract specific data from particular sites. They are targeted and have a specific, limited scope. Web scraping uses automated scripts or third-party tools to request, receive, parse, extract, and structure data. Web crawling techniques (like <a href=\"https:\/\/www.rapidseedbox.com\/blog\/list-crawling\" target=\"_blank\" rel=\"noreferrer noopener\">list crawling<\/a>), on the other hand, are used to systematically search the web. They are popular among search engines (broader scope), social media platforms, researchers, content aggregators, etc. Web crawlers can visit many sites automatically (via bots, crawlers, or spiders), build a list, index data (create a copy), and store it in a database. Web crawlers usually check the ROBOTS.txt files.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>d. Veri madencili\u011fi vs Veri kaz\u0131ma: Farklar\u0131 ve benzerlikleri nelerdir?<\/strong><\/h4>\n\n\n\n<p>Hem veri madencili\u011fi hem de veri kaz\u0131ma veri \u00e7\u0131karmay\u0131 i\u00e7erir. Ancak veri madencili\u011fi, yap\u0131land\u0131r\u0131lm\u0131\u015f veri setlerini analiz etmek i\u00e7in istatistiksel ve makine \u00f6\u011frenimi tekniklerini kullanmaya odaklan\u0131r. B\u00fcy\u00fck ve karma\u015f\u0131k yap\u0131land\u0131r\u0131lm\u0131\u015f veri setleri i\u00e7indeki kal\u0131plar\u0131, ili\u015fkileri ve i\u00e7g\u00f6r\u00fcleri belirlemeyi ama\u00e7lar. Veri kaz\u0131ma ise web sayfalar\u0131ndan ve web sitelerinden belirli bilgilerin \"toplanmas\u0131 k\u0131sm\u0131na\" odaklan\u0131r. Her iki teknik ve ara\u00e7 birlikte kullan\u0131labilir. Web kaz\u0131ma, web'den veri toplamak i\u00e7in bir \u00f6n ad\u0131m olabilir ve bu veriler daha sonra derinlemesine analiz ve i\u00e7g\u00f6r\u00fc ke\u015ffi i\u00e7in veri madencili\u011fi algoritmalar\u0131na beslenir.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>e. Ekran Kaz\u0131ma Nedir?  Ve Veri Kaz\u0131ma ile nas\u0131l ili\u015fkilidir?<\/strong><\/h4>\n\n\n\n<p>Her iki teknik de veri \u00e7\u0131karmaya odaklan\u0131r ancak \u00e7\u0131kard\u0131klar\u0131 veri t\u00fcr\u00fc bak\u0131m\u0131ndan farkl\u0131l\u0131k g\u00f6sterir. <a href=\"https:\/\/www.rapidseedbox.com\/blog\/screen-scraping\" target=\"_blank\" rel=\"noreferrer noopener\">Ekran kaz\u0131ma<\/a> ara\u00e7lar\u0131, ekran metni de dahil olmak \u00fczere web sitelerinde ve belgelerde g\u00f6r\u00fcnt\u00fclenen g\u00f6rsel verileri \"otomatik olarak\" yakalamay\u0131 ve \u00e7\u0131karmay\u0131 ama\u00e7lamaktad\u0131r. HTML'den veri ayr\u0131\u015ft\u0131ran (b\u00f6ylece \u00e7ok \u00e7e\u015fitli web verilerini \u00e7\u0131karan) web kaz\u0131man\u0131n aksine, ekran kaz\u0131ma metin verilerini do\u011frudan ekran g\u00f6r\u00fcnt\u00fcs\u00fcnden okur.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>f. Web Hasad\u0131, Web Kaz\u0131ma ile ayn\u0131 \u015fey midir?<\/strong><\/h4>\n\n\n\n<p>Veri kaz\u0131ma ve web hasad\u0131 birbiriyle yak\u0131ndan ili\u015fkilidir ve s\u0131kl\u0131kla birbirinin yerine kullan\u0131l\u0131r, ancak ayn\u0131 kavram de\u011fildir. Web hasad\u0131 daha geni\u015f bir \u00e7a\u011fr\u0131\u015f\u0131ma sahiptir. Web kaz\u0131ma gibi \u00e7e\u015fitli otomatik web \u00e7\u0131karma mekanizmalar\u0131 da dahil olmak \u00fczere web'den veri \u00e7\u0131karman\u0131n farkl\u0131 y\u00f6ntemlerini kapsar. A\u00e7\u0131k bir ayr\u0131m, web hasad\u0131n\u0131n genellikle web sayfalar\u0131ndan HTML kodunu do\u011frudan ayr\u0131\u015ft\u0131rmak yerine (web kaz\u0131man\u0131n yapt\u0131\u011f\u0131 gibi) bir API s\u00f6z konusu oldu\u011funda kullan\u0131lmas\u0131d\u0131r.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>g. CSS Se\u00e7ici vs XPath Se\u00e7ici:  Kaz\u0131ma yaparken farklar nelerdir?&nbsp;<\/strong><\/h4>\n\n\n\n<p>CSS se\u00e7icileri, web kaz\u0131ma s\u0131ras\u0131nda veri ay\u0131klamak i\u00e7in etkili bir yoldur. Basit bir s\u00f6zdizimi sunarlar ve \u00e7o\u011fu kaz\u0131ma senaryosunda iyi \u00e7al\u0131\u015f\u0131rlar. Ancak, daha karma\u015f\u0131k durumlarda veya i\u00e7 i\u00e7e ge\u00e7mi\u015f yap\u0131larla u\u011fra\u015f\u0131rken, XPath se\u00e7icileri ek esneklik ve i\u015flevsellik sa\u011flayabilir. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>h. Selenium ile dinamik web siteleri nas\u0131l i\u015flenir?<\/strong><\/h4>\n\n\n\n<p>Selenium, dinamik web sitelerini kaz\u0131mak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Web sayfas\u0131ndaki \u00f6\u011felerle bir insan kullan\u0131c\u0131n\u0131n yapaca\u011f\u0131 gibi etkile\u015fime girmenizi sa\u011flar. Bu yetenek, \"beti\u011finizin\" dinamik olarak olu\u015fturulan i\u00e7erikte gezinmesini sa\u011flar. Kullanarak <a href=\"https:\/\/www.selenium.dev\/documentation\/webdriver\/\" target=\"_blank\" rel=\"noreferrer noopener\">Selenium'un WebDriver'\u0131<\/a>ile sayfa \u00f6\u011felerinin y\u00fcklenmesini bekleyebilir, AJAX \u00f6\u011feleriyle etkile\u015fime girebilir ve JavaScript'e b\u00fcy\u00fck \u00f6l\u00e7\u00fcde g\u00fcvenen web sitelerinden veri kaz\u0131yabilirsiniz.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>i<\/strong>.<strong> Web Kaz\u0131ma yaparken AJAX ve JavaScript ile nas\u0131l ba\u015fa \u00e7\u0131k\u0131l\u0131r?<\/strong><\/h4>\n\n\n\n<p>Web kaz\u0131ma s\u0131ras\u0131nda AJAX ve JavaScript ile u\u011fra\u015f\u0131rken, Requests ve Beautiful Soup gibi geleneksel k\u00fct\u00fcphaneler yeterli olmayabilir. AJAX isteklerini ve JavaScript ile olu\u015fturulmu\u015f i\u00e7eri\u011fi i\u015flemek i\u00e7in Selenium gibi ara\u00e7lar\u0131 veya a\u015fa\u011f\u0131daki gibi ba\u015fs\u0131z taray\u0131c\u0131lar\u0131 kullanabilirsiniz <a href=\"https:\/\/pptr.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">Kuklac\u0131<\/a>. <\/p>\n\n\n\n<div style=\"height:18px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"012\">8. Sonu\u00e7&nbsp;<\/h2>\n\n\n\n<p>Tebrikler! Web kaz\u0131ma i\u00e7in nihai k\u0131lavuzu tamamlad\u0131n\u0131z! <\/p>\n\n\n\n<p>Bu k\u0131lavuzun sizi projeleriniz i\u00e7in web kaz\u0131ma potansiyelinden yararlanmaya y\u00f6nelik bilgi ve ara\u00e7larla donatmas\u0131n\u0131 umuyoruz. <\/p>\n\n\n\n<p><strong>Unutmay\u0131n, b\u00fcy\u00fck g\u00fc\u00e7 b\u00fcy\u00fck sorumluluk getirir.<\/strong> Web kaz\u0131ma yolculu\u011funuza ba\u015flarken, her zaman etik uygulamalara \u00f6ncelik verin, web sitelerinin hizmet \u015fartlar\u0131na sayg\u0131 g\u00f6sterin ve veri gizlili\u011fine dikkat edin. <\/p>\n\n\n\n<p>Buzda\u011f\u0131n\u0131n g\u00f6r\u00fcnen k\u0131sm\u0131na dokunduk. Web Kaz\u0131ma olduk\u00e7a kapsaml\u0131 bir konu olabilir. Ama hey, siz zaten bir web sitesi kaz\u0131m\u0131\u015fs\u0131n\u0131z! <\/p>\n\n\n\n<p>S\u00fcrekli \u00f6\u011frenme ve en son teknolojiler ile yasal geli\u015fmelerden haberdar olma, bu karma\u015f\u0131k d\u00fcnyada yolunuzu bulman\u0131z\u0131 sa\u011flayacakt\u0131r. <\/p>\n\n\n\n<p>Bu CSS ve XPath se\u00e7icilerini kullanarak bir HTML sayfas\u0131ndan verileri g\u00f6rsel olarak incelemek ve manuel olarak ay\u0131klamak sadece zaman al\u0131c\u0131 de\u011fil ayn\u0131 zamanda hatalara da a\u00e7\u0131k olabilir. Ayr\u0131ca, manuel veya g\u00f6rsel olarak veri ay\u0131klamak, b\u00fcy\u00fck \u00f6l\u00e7ekli veri toplama veya tekrarlayan kaz\u0131ma g\u00f6revleri i\u00e7in tamamen uygun de\u011fildir. \u0130\u015fte bu noktada komut dosyas\u0131 olu\u015fturma ve programlama son derece faydal\u0131d\u0131r.<\/p>","protected":false},"excerpt":{"rendered":"<p>\u0130ster konsepti merak eden bir acemi olun, ister becerilerinizi geli\u015ftirmek isteyen deneyimli bir programc\u0131, bu k\u0131lavuzda herkes i\u00e7in de\u011ferli bir \u015feyler var. CSS ve XPath se\u00e7icilerini kullanarak HTML veri \u00e7\u0131karman\u0131n temellerini anlamaktan Python ile uygulamal\u0131 web kaz\u0131maya kadar her \u015fey elimizin alt\u0131nda. Ek olarak, sorumlu web kaz\u0131ma sa\u011flamak i\u00e7in yasal y\u00f6nleri, etik hususlar\u0131 ve en iyi uygulamalar\u0131 ele alaca\u011f\u0131z. <\/p>","protected":false},"author":145,"featured_media":25091,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[39],"tags":[410,735,319,320],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Ultimate Guide to Web Scraping [Updated]<\/title>\n<meta name=\"description\" content=\"In this post, you&#039;ll learn about web scraping. What is its legal context? what are the techniques used to stop it, and how to bypass them?\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.rapidseedbox.com\/tr\/blog\/web-scraping\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Ultimate Guide to Web Scraping [Updated]\" \/>\n<meta property=\"og:description\" content=\"In this post, you&#039;ll learn about web scraping. What is its legal context? what are the techniques used to stop it, and how to bypass them?\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.rapidseedbox.com\/tr\/blog\/web-scraping\" \/>\n<meta property=\"og:site_name\" content=\"RapidSeedbox\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RapidSeedbox\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-18T13:15:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-28T18:31:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/web-scraping.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"623\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Diego Asturias\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@rapidseedbox\" \/>\n<meta name=\"twitter:site\" content=\"@rapidseedbox\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Diego Asturias\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 dakika\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Ultimate Guide to Web Scraping [Updated]","description":"In this post, you'll learn about web scraping. What is its legal context? what are the techniques used to stop it, and how to bypass them?","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.rapidseedbox.com\/tr\/blog\/web-scraping","og_locale":"tr_TR","og_type":"article","og_title":"The Ultimate Guide to Web Scraping [Updated]","og_description":"In this post, you'll learn about web scraping. What is its legal context? what are the techniques used to stop it, and how to bypass them?","og_url":"https:\/\/www.rapidseedbox.com\/tr\/blog\/web-scraping","og_site_name":"RapidSeedbox","article_publisher":"https:\/\/www.facebook.com\/RapidSeedbox\/","article_published_time":"2020-12-18T13:15:21+00:00","article_modified_time":"2025-10-28T18:31:07+00:00","og_image":[{"width":1200,"height":623,"url":"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/web-scraping.png","type":"image\/png"}],"author":"Diego Asturias","twitter_card":"summary_large_image","twitter_creator":"@rapidseedbox","twitter_site":"@rapidseedbox","twitter_misc":{"Yazan:":"Diego Asturias","Tahmini okuma s\u00fcresi":"11 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"TechArticle","@id":"https:\/\/www.rapidseedbox.com\/blog\/web-scraping#article","isPartOf":{"@id":"https:\/\/www.rapidseedbox.com\/blog\/web-scraping"},"author":{"name":"Diego Asturias","@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/person\/35fc664d84d157cf924e8a792996adfe"},"headline":"The Ultimate Guide to Web Scraping [Updated]","datePublished":"2020-12-18T13:15:21+00:00","dateModified":"2025-10-28T18:31:07+00:00","mainEntityOfPage":{"@id":"https:\/\/www.rapidseedbox.com\/blog\/web-scraping"},"wordCount":4613,"commentCount":0,"publisher":{"@id":"https:\/\/www.rapidseedbox.com\/#organization"},"keywords":["francais","indonesian","proxy","web scraping"],"articleSection":["blog"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.rapidseedbox.com\/blog\/web-scraping#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.rapidseedbox.com\/blog\/web-scraping","url":"https:\/\/www.rapidseedbox.com\/blog\/web-scraping","name":"The Ultimate Guide to Web Scraping [Updated]","isPartOf":{"@id":"https:\/\/www.rapidseedbox.com\/#website"},"datePublished":"2020-12-18T13:15:21+00:00","dateModified":"2025-10-28T18:31:07+00:00","description":"In this post, you'll learn about web scraping. What is its legal context? what are the techniques used to stop it, and how to bypass them?","breadcrumb":{"@id":"https:\/\/www.rapidseedbox.com\/blog\/web-scraping#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.rapidseedbox.com\/blog\/web-scraping"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.rapidseedbox.com\/blog\/web-scraping#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.rapidseedbox.com\/"},{"@type":"ListItem","position":2,"name":"blog","item":"https:\/\/www.rapidseedbox.com\/category\/blog"},{"@type":"ListItem","position":3,"name":"The Ultimate Guide to Web Scraping [Updated]"}]},{"@type":"WebSite","@id":"https:\/\/www.rapidseedbox.com\/#website","url":"https:\/\/www.rapidseedbox.com\/","name":"RapidSeedbox","description":"Seedbox &amp; Dedicated Server provider focused on delivering fast peer-to-peer BitTorrent protocol-based file transfer on remote high-end servers.","publisher":{"@id":"https:\/\/www.rapidseedbox.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.rapidseedbox.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":"Organization","@id":"https:\/\/www.rapidseedbox.com\/#organization","name":"RapidSeedbox","alternateName":"RapidSeedbox.com","url":"https:\/\/www.rapidseedbox.com\/","logo":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/logoonly.png","contentUrl":"https:\/\/www.rapidseedbox.com\/wp-content\/uploads\/logoonly.png","width":259,"height":261,"caption":"RapidSeedbox"},"image":{"@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RapidSeedbox\/","https:\/\/twitter.com\/rapidseedbox","https:\/\/www.linkedin.com\/company\/rapidseedbox","https:\/\/www.youtube.com\/@rapidseedbox"]},{"@type":"Person","@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/person\/35fc664d84d157cf924e8a792996adfe","name":"Diego Asturias","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.rapidseedbox.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5473e3ab660a5d167e3a25350e963690?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5473e3ab660a5d167e3a25350e963690?s=96&d=mm&r=g","caption":"Diego Asturias"},"description":"Diego Asturias is a tech journalist who translates complex tech jargon into engaging content. He has a degree in Internetworking Tech from Washington DC, US, and tech certifications from Cisco, McAfee, and Wireshark. He has hands-on experience working in Latin America, South Korea, and West Africa. He has been featured in SiliconANGLE Media, Cloudbric, Pcwdld, Hackernoon, ITT Systems, SecurityGladiators, Rapidseedbox, and more.","sameAs":["https:\/\/www.linkedin.com\/in\/diego-asturias-035a539\/"],"url":"https:\/\/www.rapidseedbox.com\/author\/diego"}]}},"_links":{"self":[{"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/posts\/11399"}],"collection":[{"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/users\/145"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/comments?post=11399"}],"version-history":[{"count":10,"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/posts\/11399\/revisions"}],"predecessor-version":[{"id":41715,"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/posts\/11399\/revisions\/41715"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/media\/25091"}],"wp:attachment":[{"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/media?parent=11399"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/categories?post=11399"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rapidseedbox.com\/tr\/wp-json\/wp\/v2\/tags?post=11399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}