{"id":407,"date":"2026-06-23T21:29:43","date_gmt":"2026-06-23T21:29:43","guid":{"rendered":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/?p=407"},"modified":"2026-06-23T21:29:43","modified_gmt":"2026-06-23T21:29:43","slug":"selenium-ve-python-ile-web-kazima-nasil-yapilir","status":"publish","type":"post","link":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/tr\/2026\/06\/23\/selenium-ve-python-ile-web-kazima-nasil-yapilir\/","title":{"rendered":"Selenium ve Python ile web kazima nasil yapilir"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Web sitelerinden veri toplamak, yayg\u0131n olarak web kaz\u0131ma olarak bilinen bu teknik bir\u00e7ok proje i\u00e7in pratiktir. BeautifulSoup gibi k\u00fct\u00fcphaneler temel HTML ile \u00e7al\u0131\u015fmak i\u00e7in harikad\u0131r, ancak sayfalar i\u00e7eri\u011fi g\u00f6stermek i\u00e7in yo\u011fun \u015fekilde JavaScript&#8217;e dayand\u0131\u011f\u0131nda genellikle zorlan\u0131rlar. \u0130\u015fte tam bu noktada&nbsp;<strong>Selenium<\/strong>&nbsp;devreye girer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu rehberde, web sitelerini etkili \u015fekilde kaz\u0131mak i\u00e7in Selenium&#8217;u Python ile nas\u0131l kullanaca\u011f\u0131n\u0131z\u0131 \u00f6\u011freneceksiniz.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00d6nce \u015eunu Bilin \u2014 Selenium Nedir?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Selenium, web uygulamalar\u0131n\u0131 test etmek i\u00e7in tasarlanm\u0131\u015f bir taray\u0131c\u0131 otomasyon \u00e7er\u00e7evesidir. Chrome veya Firefox gibi ger\u00e7ek bir taray\u0131c\u0131y\u0131 kontrol ederek ger\u00e7ek kullan\u0131c\u0131 davran\u0131\u015f\u0131n\u0131 sim\u00fcle eder. Bu sayede di\u011fer ara\u00e7lar\u0131n ba\u015f edemedi\u011fi JavaScript ile olu\u015fturulan i\u00e7eri\u011fi i\u015fleyebilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu, Selenium&#8217;u etkile\u015fimli web sitelerinden, formlardan, sonsuz kayd\u0131rmalardan ve daha fazlas\u0131ndan i\u00e7erik kaz\u0131mak i\u00e7in harika bir \u00e7\u00f6z\u00fcm yapar.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Selenium Nas\u0131l Kurulur?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ba\u015flamak i\u00e7in Selenium&#8217;u pip ile kurdu\u011funuzdan emin olun:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>pip install selenium<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">WebDriver Nas\u0131l Kurulur?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Selenium, taray\u0131c\u0131yla ileti\u015fim kurmak i\u00e7in bir WebDriver gerektirir. \u0130\u015fte Chrome kullanan basit bir \u00f6rnek:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>from selenium import webdriver<br>from selenium.webdriver.chrome.service import Service<br><br>service = Service(\"\/path\/to\/chromedriver\")<br>driver = webdriver.Chrome(service=service)<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Taray\u0131c\u0131y\u0131 pencere a\u00e7madan \u00e7al\u0131\u015ft\u0131rmak istiyorsan\u0131z (sunucularda kullan\u0131\u015fl\u0131d\u0131r), headless modunu etkinle\u015ftirin:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>from selenium.webdriver.chrome.options import Options<br><br>options = Options()<br>options.add_argument(\"--headless=new\")<br>driver = webdriver.Chrome(options=options)<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Sayfadaki \u00d6\u011feler Nas\u0131l Bulunur?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">HTML \u00f6\u011felerini bulmak i\u00e7in farkl\u0131 stratejiler kullanabilirsiniz:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>from selenium.webdriver.common.by import By<br><br>element = driver.find_element(By.CLASS_NAME, \"product-title\")<br><\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Di\u011fer konumland\u0131r\u0131c\u0131 se\u00e7enekleri:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>By.ID<\/code><\/li>\n\n\n\n<li><code>By.TAG_NAME<\/code><\/li>\n\n\n\n<li><code>By.CSS_SELECTOR<\/code><\/li>\n\n\n\n<li><code>By.XPATH<\/code><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">JavaScript&#8217;in Y\u00fcklenmesini Bekleme<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>time.sleep()<\/code>&nbsp;kullanmak yerine Selenium,&nbsp;<code>WebDriverWait<\/code>&nbsp;ile ak\u0131ll\u0131 bekleme destekler:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>from selenium.webdriver.support.ui import WebDriverWait<br>from selenium.webdriver.support import expected_conditions as EC<br><br>WebDriverWait(driver, 10).until(<br>    EC.presence_of_element_located((By.ID, \"content\"))<br>)<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">JavaScript \u00c7al\u0131\u015ft\u0131rma<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sayfay\u0131 kayd\u0131rman\u0131z veya yava\u015f y\u00fcklenen \u00f6\u011feleri tetiklemeniz gerekiyorsa JavaScript \u00e7al\u0131\u015ft\u0131rabilirsiniz:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>driver.execute_script(\"window.scrollTo(0, document.body.scrollHeight);\")<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Ekran G\u00f6r\u00fcnt\u00fcs\u00fc Alma<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mevcut g\u00f6r\u00fcn\u00fcm\u00fcn ekran g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc \u015fu \u015fekilde alabilirsiniz:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>driver.save_screenshot(\"screenshot.png\")<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Sayfaland\u0131rma \u0130\u015fleme<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Birden fazla sayfay\u0131 kaz\u0131mak i\u00e7in ba\u011flant\u0131lar aras\u0131nda d\u00f6ng\u00fc kurabilir veya bir &#8220;Sonraki&#8221; d\u00fc\u011fmesiyle etkile\u015fim kurabilirsiniz:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>next_button = driver.find_element(By.LINK_TEXT, \"Next\")<br>next_button.click()<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Veri D\u0131\u015fa Aktarma<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kaz\u0131d\u0131\u011f\u0131n\u0131z verileri CSV dosyas\u0131na kaydetmek i\u00e7in Pandas k\u00fct\u00fcphanesini kullanabilirsiniz:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>import pandas as pd<br><br>df = pd.DataFrame(data)<br>df.to_csv(\"output.csv\", index=False)<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Tu\u015flarla Kayd\u0131rma<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>PAGE_DOWN<\/code>&nbsp;veya&nbsp;<code>END<\/code>&nbsp;gibi tu\u015flara basmay\u0131 sim\u00fcle etmek i\u00e7in:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>from selenium.webdriver.common.keys import Keys<br><br>body = driver.find_element(By.TAG_NAME, \"body\")<br>body.send_keys(Keys.END)<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">G\u00f6r\u00fcnt\u00fcleri ve Di\u011fer Kaynaklar\u0131 Engelleme<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Kaz\u0131may\u0131 h\u0131zland\u0131rmak ve kaynak kullan\u0131m\u0131n\u0131 azaltmak i\u00e7in:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><code>driver.execute_cdp_cmd(\"Network.setBlockedURLs\", {\"urls\": [\"*.jpg\", \"*.png\"]})<br><\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Selenium Di\u011fer Ara\u00e7larla Nas\u0131l Kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Ara\u00e7<\/th><th>JavaScript Deste\u011fi<\/th><th>H\u0131z<\/th><th>\u0130deal Kullan\u0131m Alan\u0131<\/th><\/tr><\/thead><tbody><tr><td>Selenium<\/td><td>Tam<\/td><td>Orta<\/td><td>Etkile\u015fimli\/dinamik sayfalar<\/td><\/tr><tr><td>BeautifulSoup<\/td><td>Yok<\/td><td>H\u0131zl\u0131<\/td><td>Statik HTML kaz\u0131ma<\/td><\/tr><tr><td>Scrapy<\/td><td>\u0130ste\u011fe ba\u011fl\u0131 (Selenium arac\u0131l\u0131\u011f\u0131yla)<\/td><td>\u00c7ok h\u0131zl\u0131<\/td><td>B\u00fcy\u00fck \u00f6l\u00e7ekli kaz\u0131ma projeleri<\/td><\/tr><tr><td>Puppeteer<\/td><td>Tam (yaln\u0131zca Node.js)<\/td><td>Orta<\/td><td>Headless Chromium tabanl\u0131 kaz\u0131ma<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Selenium Ne Zaman Kullan\u0131lmal\u0131?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Selenium&#8217;u \u015fu durumlarda tercih edin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Web sitesi b\u00fcy\u00fck \u00f6l\u00e7\u00fcde JavaScript&#8217;e dayan\u0131yorsa<\/li>\n\n\n\n<li>Kullan\u0131c\u0131 etkile\u015fimlerini (t\u0131klama, kayd\u0131rma ve giri\u015f) sim\u00fcle etmeniz gerekiyorsa<\/li>\n\n\n\n<li>K\u00fc\u00e7\u00fck veya orta \u00f6l\u00e7ekli bir kaz\u0131ma g\u00f6revi \u00fczerinde \u00e7al\u0131\u015f\u0131yorsan\u0131z<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Daha b\u00fcy\u00fck veya daha h\u0131zl\u0131 kaz\u0131ma i\u015fleri i\u00e7in <a href=\"https:\/\/www.scrapy.org\">Scrapy<\/a> gibi ara\u00e7lar\u0131 veya <a href=\"https:\/\/www.thunderproxy.com\/tr\/products\/proxies\/residential-proxies\/\">residential proxy&#8217;ler<\/a>, CAPTCHA ve JavaScript&#8217;i sizin i\u00e7in halleden \u00f6zel API&#8217;leri de\u011ferlendirin.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sonu\u00e7<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Selenium, Python kullanarak dinamik web sitelerini kaz\u0131mak i\u00e7in m\u00fckemmel bir se\u00e7enektir. Kurulumdan sonra karma\u015f\u0131k sayfalardan i\u00e7erik \u00e7\u0131karman\u0131za olanak tan\u0131r. En h\u0131zl\u0131 ara\u00e7 olmasa da ger\u00e7ek bir taray\u0131c\u0131y\u0131 otomatikle\u015ftirme yetene\u011fi onu son derece esnek k\u0131lar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Selenium ve Python kullanarak dinamik web sitelerini kaz\u0131may\u0131 \u00f6\u011frenin. Bu rehber kurulum, \u00f6\u011fe se\u00e7imi, JavaScript i\u015fleme, sayfaland\u0131rma ve veri d\u0131\u015fa aktarmay\u0131 kapsar.<\/p>\n","protected":false},"author":1,"featured_media":117,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"meta_title":"Selenium ve Python ile Web Kaz\u0131ma","meta_description":"Selenium ve Python ile dinamik web sitelerini kaz\u0131y\u0131n. Kurulum, \u00f6\u011fe se\u00e7imi, JavaScript i\u015fleme, sayfaland\u0131rma ve kaz\u0131nan verileri d\u0131\u015fa aktarmay\u0131 kapsar.","plan_title":"","referenced_products":[],"footnotes":""},"categories":[14],"tags":[47],"class_list":["post-407","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-tr","tag-tutorials"],"tag_slugs":["tutorials"],"meta_title":"Selenium ve Python ile Web Kaz\u0131ma","meta_description":"Selenium ve Python ile dinamik web sitelerini kaz\u0131y\u0131n. Kurulum, \u00f6\u011fe se\u00e7imi, JavaScript i\u015fleme, sayfaland\u0131rma ve kaz\u0131nan verileri d\u0131\u015fa aktarmay\u0131 kapsar.","referenced_products":[],"plan_title":"","headings":[{"level":2,"text":"\u00d6nce \u015eunu Bilin \u2014 Selenium Nedir?","id":"once-sunu-bilin-selenium-nedir","slug":"once-sunu-bilin-selenium-nedir"},{"level":2,"text":"Selenium Nas\u0131l Kurulur?","id":"selenium-nasil-kurulur","slug":"selenium-nasil-kurulur"},{"level":2,"text":"WebDriver Nas\u0131l Kurulur?","id":"webdriver-nasil-kurulur","slug":"webdriver-nasil-kurulur"},{"level":2,"text":"Sayfadaki \u00d6\u011feler Nas\u0131l Bulunur?","id":"sayfadaki-ogeler-nasil-bulunur","slug":"sayfadaki-ogeler-nasil-bulunur"},{"level":2,"text":"JavaScript'in Y\u00fcklenmesini Bekleme","id":"javascriptin-yuklenmesini-bekleme","slug":"javascriptin-yuklenmesini-bekleme"},{"level":2,"text":"JavaScript \u00c7al\u0131\u015ft\u0131rma","id":"javascript-calistirma","slug":"javascript-calistirma"},{"level":2,"text":"Ekran G\u00f6r\u00fcnt\u00fcs\u00fc Alma","id":"ekran-goruntusu-alma","slug":"ekran-goruntusu-alma"},{"level":2,"text":"Sayfaland\u0131rma \u0130\u015fleme","id":"sayfalandirma-isleme","slug":"sayfalandirma-isleme"},{"level":2,"text":"Veri D\u0131\u015fa Aktarma","id":"veri-disa-aktarma","slug":"veri-disa-aktarma"},{"level":2,"text":"Tu\u015flarla Kayd\u0131rma","id":"tuslarla-kaydirma","slug":"tuslarla-kaydirma"},{"level":2,"text":"G\u00f6r\u00fcnt\u00fcleri ve Di\u011fer Kaynaklar\u0131 Engelleme","id":"goruntuleri-ve-diger-kaynaklari-engelleme","slug":"goruntuleri-ve-diger-kaynaklari-engelleme"},{"level":2,"text":"Selenium Di\u011fer Ara\u00e7larla Nas\u0131l Kar\u015f\u0131la\u015ft\u0131r\u0131l\u0131r?","id":"selenium-diger-araclarla-nasil-karsilastirilir","slug":"selenium-diger-araclarla-nasil-karsilastirilir"},{"level":2,"text":"Selenium Ne Zaman Kullan\u0131lmal\u0131?","id":"selenium-ne-zaman-kullanilmali","slug":"selenium-ne-zaman-kullanilmali"},{"level":2,"text":"Sonu\u00e7","id":"sonuc","slug":"sonuc"}],"lang":"tr","translations":{"tr":407,"en":81,"ru":406,"de":408,"es":409},"pll_sync_post":[],"featured_media_src_url":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/wp-content\/uploads\/2025\/07\/How-To-Use-Selenium-and-Python-for-Web-Scraping-1024x683.jpg","_links":{"self":[{"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/posts\/407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/comments?post=407"}],"version-history":[{"count":1,"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/posts\/407\/revisions"}],"predecessor-version":[{"id":427,"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/posts\/407\/revisions\/427"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/media\/117"}],"wp:attachment":[{"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/media?parent=407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/categories?post=407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress-foccwcs4gooocs44ogwkggo0.thunderproxy.com\/index.php\/wp-json\/wp\/v2\/tags?post=407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}