{"id":10857,"date":"2025-02-13T21:35:04","date_gmt":"2025-02-13T18:35:04","guid":{"rendered":"https:\/\/proxynet.io\/?p=10857"},"modified":"2025-02-13T21:39:24","modified_gmt":"2025-02-13T18:39:24","slug":"scraping-undetected-chromedriver","status":"publish","type":"post","link":"https:\/\/proxynet.io\/tr\/blog\/scraping-undetected-chromedriver","title":{"rendered":"Web Kaz\u0131ma i\u00e7in Undetected ChromeDriver Nas\u0131l Kullan\u0131l\u0131r?"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Undetected ChromeDriver, Selenium&#8217;in ChromeDriver&#8217;\u0131n\u0131n optimize edilmi\u015f bir s\u00fcr\u00fcm\u00fcd\u00fcr ve otomatik taray\u0131c\u0131 botlar\u0131n\u0131n tespiti i\u00e7in kullan\u0131lan anti-bot hizmetlerini atlatmak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu ara\u00e7, \u00f6zellikle Imperva, DataDome ve Distil Networks gibi hizmetlerin tespit mekanizmalar\u0131n\u0131 a\u015fmada etkilidir. Ayr\u0131ca, belirli Cloudflare korumalar\u0131n\u0131 da ge\u00e7meye yard\u0131mc\u0131 olabilir.<\/p>\n\n\n\n<h2 id='undetected-chromedriver-nedir'  id=\"boomdevs_1\" class=\"wp-block-heading\">Undetected ChromeDriver Nedir?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tespit edilemeyen, Alg\u0131lanamayan veya kendi resmi ad\u0131 ile <a href=\"https:\/\/github.com\/ultrafunkamsterdam\/undetected-chromedriver\" data-type=\"link\" data-id=\"https:\/\/github.com\/ultrafunkamsterdam\/undetected-chromedriver\" target=\"_blank\" rel=\"noopener\">Undetected ChromeDriver<\/a>, Selenium&#8217;un ChromeDriver&#8217;\u0131n\u0131n optimize edilmi\u015f bir s\u00fcr\u00fcm\u00fcn\u00fc sa\u011flayan bir Python k\u00fct\u00fcphanesidir. Bu, a\u015fa\u011f\u0131daki gibi anti-bot hizmetleri taraf\u0131ndan alg\u0131lamay\u0131 s\u0131n\u0131rlamak i\u00e7in yamalanm\u0131\u015ft\u0131r:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Imperva<\/li>\n\n\n\n<li>DataDome<\/li>\n\n\n\n<li>Distil Networks<\/li>\n\n\n\n<li>Cloudflare<\/li>\n<\/ul>\n\n\n\n<h2 id='undetected-chromedriver-nas\u0131l-\u00e7al\u0131\u015f\u0131r'  id=\"boomdevs_2\" class=\"wp-block-heading\">Undetected ChromeDriver Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Undetected ChromeDriver, a\u015fa\u011f\u0131daki teknikleri kullanarak tespiti azalt\u0131r:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Selenium De\u011fi\u015fkenlerinin Yeniden Adland\u0131r\u0131lmas\u0131:<\/strong> Selenium taraf\u0131ndan kullan\u0131lan de\u011fi\u015fkenleri, ger\u00e7ek taray\u0131c\u0131lar\u0131n kulland\u0131\u011f\u0131 isimlerle de\u011fi\u015ftirir.<\/li>\n\n\n\n<li><strong>Ger\u00e7ek\u00e7i User-Agent Kullan\u0131m\u0131:<\/strong> Ger\u00e7ek d\u00fcnyada kullan\u0131lan User-Agent dizgilerini kullanarak tespiti \u00f6nler.<\/li>\n\n\n\n<li><strong>Do\u011fal \u0130nsan Etkile\u015fiminin Sim\u00fclasyonu:<\/strong> Kullan\u0131c\u0131n\u0131n do\u011fal davran\u0131\u015flar\u0131n\u0131 taklit ederek tespiti zorla\u015ft\u0131r\u0131r.<\/li>\n\n\n\n<li><strong>\u00c7erez ve Oturum Y\u00f6netimi:<\/strong> Web sitelerinde gezinirken \u00e7erezleri ve oturumlar\u0131 do\u011fru bir \u015fekilde y\u00f6netir.<\/li>\n\n\n\n<li><strong>Proxy Deste\u011fi:<\/strong> IP engellemelerini a\u015fmak ve h\u0131z s\u0131n\u0131rlamalar\u0131n\u0131 \u00f6nlemek i\u00e7in proxy kullan\u0131m\u0131na izin verir.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Undetected ChromeDriver\u2019da ba\u015fl\u0131ca hangi&nbsp;<a href=\"https:\/\/proxynet.io\/tr\/proxy\">proxy server<\/a>&nbsp;\u00fcr\u00fcnlerimizi kullanabilirsiniz?<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/proxynet.io\/tr\/residential-proxy\">Residential Proxyler<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/proxynet.io\/tr\/static-isp-residential-proxy\">ISP Proxyler<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/proxynet.io\/tr\/mobile-proxy\">Mobil Proxyler<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/proxynet.io\/tr\/datacenter-proxy\">Datacenter Proxyler<\/a><\/li>\n<\/ul>\n\n\n\n<h2 id='web-scraping-i\u00e7in-undetected-chromedriver-kullan\u0131m\u0131'  id=\"boomdevs_3\" class=\"wp-block-heading\">Web Scraping i\u00e7in Undetected ChromeDriver kullan\u0131m\u0131<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Undetected ChromeDriver&#8217;\u0131 Python&#8217;da web scraping i\u00e7in kullanmak olduk\u00e7a basittir. \u00d6ncelikle, a\u015fa\u011f\u0131daki komutla gerekli paketi y\u00fckleyin:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pip install undetected-chromedriver<br><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Ard\u0131ndan, a\u015fa\u011f\u0131daki gibi bir Python beti\u011fi olu\u015fturabilirsiniz:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">import undetected_chromedriver as uc<br><br># Chrome taray\u0131c\u0131y\u0131 ba\u015flat<br>driver = uc.Chrome()<br><br># Hedef sayfaya ba\u011flan<br>driver.get(\"https:\/\/www.ornekwebsite.com\")<br><br># \u0130stedi\u011finiz veriyi \u00e7ekme i\u015flemleri...<br><br># Taray\u0131c\u0131y\u0131 kapat<br>driver.quit()<br><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Bu betik, belirtilen web sitesine ba\u011flan\u0131r ve istedi\u011finiz verileri \u00e7ekmenize olanak tan\u0131r. Ayr\u0131ca, <code>uc.ChromeOptions()<\/code> kullanarak taray\u0131c\u0131 se\u00e7eneklerini \u00f6zelle\u015ftirebilirsiniz. \u00d6rne\u011fin, taray\u0131c\u0131y\u0131 ba\u015fs\u0131z (headless) modda \u00e7al\u0131\u015ft\u0131rmak i\u00e7in:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">options = uc.ChromeOptions()<br>options.headless = True<br>driver = uc.Chrome(options=options)<br><\/pre>\n\n\n\n<h3 id='proxy-entegrasyonu'  id=\"boomdevs_4\" class=\"wp-block-heading\">Proxy Entegrasyonu<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Proxy kullanarak IP engellemelerini ve h\u0131z s\u0131n\u0131rlamalar\u0131n\u0131 \u00f6nleyebilirsiniz. Proxy&#8217;yi a\u015fa\u011f\u0131daki gibi ekleyebilirsiniz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>options = uc.ChromeOptions()\noptions.add_argument(\"--proxy-server=http:\/\/proxy_ip:port\")\ndriver = uc.Chrome(options=options)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">E\u011fer proxy kimlik do\u011frulamas\u0131 yani user:pass gerektiriyorsa, <code>seleniumwire<\/code> k\u00fct\u00fcphanesini kullanabilirsiniz:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from seleniumwire import undetected_chromedriver as uc\n\nproxy_options = {\n    'proxy': {\n        'http': 'http:\/\/kullanici_adi:sifre@proxy_ip:port',\n        'https': 'https:\/\/kullanici_adi:sifre@proxy_ip:port',\n        'no_proxy': 'localhost,127.0.0.1'\n    }\n}\n\ndriver = uc.Chrome(seleniumwire_options=proxy_options)\n<\/code><\/pre>\n\n\n\n<h2 id='s\u0131n\u0131rland\u0131rma-ve-alternatifler'  id=\"boomdevs_5\" class=\"wp-block-heading\">S\u0131n\u0131rland\u0131rma ve Alternatifler<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Undetected ChromeDriver, bir\u00e7ok anti-bot sistemini atlatmada etkili olsa da, daha geli\u015fmi\u015f tespit mekanizmalar\u0131na sahip web sitelerinde yetersiz kalabilir. Ayr\u0131ca, proxy d\u00f6nd\u00fcrme gibi \u00f6zellikleri kendi ba\u015f\u0131na desteklemez. Bu gibi durumlarda, daha geli\u015fmi\u015f \u00e7\u00f6z\u00fcmler veya ek ara\u00e7lar kullanman\u0131z gerekebilir.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>D\u00fc\u015f\u00fck g\u00fcvenlikli sitelerde<\/strong> ba\u015far\u0131 oran\u0131 olduk\u00e7a y\u00fcksektir. Standart bot tespit mekanizmalar\u0131 bulunan web sitelerinde, manuel giri\u015f yap\u0131yormu\u015f gibi i\u015flem yapabilirsiniz.<\/li>\n\n\n\n<li><strong>Orta seviyeli korumalarda<\/strong>, Cloudflare gibi servislerin bot tespiti devreye girebilir. Bu durumda ek \u00e7\u00f6z\u00fcmler (\u00f6rne\u011fin, taray\u0131c\u0131 parmak izi taklit etme veya \u00e7erezleri saklama) gerekebilir.<\/li>\n\n\n\n<li><strong>Y\u00fcksek g\u00fcvenlikli sitelerde<\/strong>, JavaScript tabanl\u0131 davran\u0131\u015f analizleri ve geli\u015fmi\u015f bot tespit sistemleri nedeniyle ba\u015far\u0131s\u0131z olma ihtimali y\u00fcksektir. Bu t\u00fcr durumlarda, geli\u015fmi\u015f \u00e7\u00f6z\u00fcmler kullanmak veya manuel veri \u00e7ekme y\u00f6ntemlerini de\u011ferlendirmek daha etkili olabilir.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Baz\u0131 kullan\u0131c\u0131lar, taray\u0131c\u0131n\u0131n ba\u015flat\u0131lma s\u00fcresinin standart ChromeDriver\u2019a k\u0131yasla biraz daha uzun s\u00fcrd\u00fc\u011f\u00fcn\u00fc bildirmektedir. Bunun sebebi, bot tespit sistemlerini atlatmak i\u00e7in yap\u0131lan ek de\u011fi\u015fikliklerdir. Ancak, uzun s\u00fcreli \u00e7al\u0131\u015fmalarda bu fark genellikle g\u00f6z ard\u0131 edilebilir seviyededir.<\/p>\n\n\n\n<h3 id='kullan\u0131m-tarz\u0131-ve-en-i\u0307yi-uygulamalar'  id=\"boomdevs_6\" class=\"wp-block-heading\">Kullan\u0131m Tarz\u0131 ve En \u0130yi Uygulamalar<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Undetected ChromeDriver\u2019\u0131 verimli kullanmak i\u00e7in a\u015fa\u011f\u0131daki en iyi uygulamalar\u0131 dikkate almak \u00f6nemlidir:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>S\u0131k Kullan\u0131mda IP Adresi Rotasyonu Yap\u0131n<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ayn\u0131 IP adresi \u00fczerinden s\u00fcrekli istek yapmak, tespit edilme riskini art\u0131rabilir. Proxy hizmetleri veya VPN kullanarak IP adresinizi d\u00fczenli olarak de\u011fi\u015ftirebilirsiniz. Sitemizden sat\u0131n ald\u0131\u011f\u0131n\u0131z Rotating <a href=\"https:\/\/proxynet.io\/tr\/residential-proxy\" data-type=\"link\" data-id=\"https:\/\/proxynet.io\/tr\/residential-proxy\">Residential Proxy<\/a> hizmeti ile otomatik rotasyonlu bir proxy kullanabilir veya liste halinde sat\u0131n ald\u0131\u011f\u0131n\u0131z proxyler var ise bir ba\u015fka makalemizde anlatt\u0131\u011f\u0131m\u0131z &#8220;<strong><a href=\"https:\/\/proxynet.io\/tr\/blog\/rotating-proxy-python\" data-type=\"link\" data-id=\"https:\/\/proxynet.io\/tr\/blog\/rotating-proxy-python\">Python&#8217;da Proxyler Nas\u0131l D\u00f6nd\u00fcr\u00fcl\u00fcr?<\/a><\/strong>&#8221; makalesi ile kendi rotasyonunuzu yapabilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Taray\u0131c\u0131 Parmak \u0130zini Gizleyin<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Taray\u0131c\u0131n\u0131n parmak izi (fingerprint) bot olup olmad\u0131\u011f\u0131n\u0131z\u0131 ele verebilir. <code>selenium-stealth<\/code> veya benzeri k\u00fct\u00fcphaneleri kullanarak parmak izinizi ger\u00e7ek kullan\u0131c\u0131larla benzer hale getirebilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00c7erezleri Saklay\u0131n ve Kullan\u0131n<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Web siteleri, kullan\u0131c\u0131lar\u0131n ge\u00e7mi\u015f oturum bilgilerini \u00e7erezlerde saklar. Web scraping i\u015flemlerinde, \u00f6nceki oturumlar\u0131n\u0131z\u0131n \u00e7erezlerini kaydederek daha do\u011fal bir kullan\u0131m sa\u011flayabilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ba\u015fs\u0131z Modu Dikkatli Kullan\u0131n<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Her ne kadar ba\u015fs\u0131z (headless) mod web scraping i\u00e7in kullan\u0131\u015fl\u0131 olsa da, baz\u0131 siteler bunu bot aktivitesi olarak de\u011ferlendirebilir. E\u011fer tespit edilme sorunu ya\u015f\u0131yorsan\u0131z, ba\u015fs\u0131z modu devre d\u0131\u015f\u0131 b\u0131rakmay\u0131 deneyebilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u0130nsan Davran\u0131\u015flar\u0131n\u0131 Taklit Edin<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Web sitelerinde gezinirken rastgele t\u0131klamalar yapmak, sayfalar aras\u0131nda rastgele gecikmeler eklemek ve fare hareketleri sim\u00fcle etmek tespit edilme olas\u0131l\u0131\u011f\u0131n\u0131 azaltabilir.<\/p>\n\n\n\n<h2 id='sonu\u00e7'  id=\"boomdevs_7\" class=\"wp-block-heading\"><strong>Sonu\u00e7<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Undetected ChromeDriver, bot tespit sistemlerini a\u015fmak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da, her durumda m\u00fckemmel sonu\u00e7 vermeyebilir. Kullan\u0131m senaryonuza ba\u011fl\u0131 olarak, proxy deste\u011fi, insan davran\u0131\u015f\u0131 taklidi, taray\u0131c\u0131 parmak izi y\u00f6netimi gibi ek y\u00f6ntemleri entegre etmek tespit edilme olas\u0131l\u0131\u011f\u0131n\u0131 ciddi \u015fekilde azaltabilir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Daha sofistike sistemler i\u00e7in <a href=\"https:\/\/playwright.dev\/\" data-type=\"link\" data-id=\"https:\/\/playwright.dev\/\" target=\"_blank\" rel=\"noopener\">Playwright<\/a>, <a href=\"https:\/\/pptr.dev\/\" data-type=\"link\" data-id=\"https:\/\/pptr.dev\/\" target=\"_blank\" rel=\"noopener\">Puppeteer <\/a>gibi alternatif \u00e7\u00f6z\u00fcmler veya API tabanl\u0131 veri \u00e7ekme y\u00f6ntemleri de\u011ferlendirilebilir. Scraping i\u015flemlerinin etik ve yasal \u00e7er\u00e7evede ger\u00e7ekle\u015ftirilmesi gerekti\u011fini unutmay\u0131n!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Undetected ChromeDriver, Selenium&#8217;in ChromeDriver&#8217;\u0131n\u0131n optimize edilmi\u015f bir s\u00fcr\u00fcm\u00fcd\u00fcr ve otomatik taray\u0131c\u0131 botlar\u0131n\u0131n tespiti i\u00e7in kullan\u0131lan anti-bot hizmetlerini atlatmak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu ara\u00e7, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10858,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[205,206,199],"tags":[],"class_list":["post-10857","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial","category-proxies"],"_links":{"self":[{"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/posts\/10857","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/comments?post=10857"}],"version-history":[{"count":3,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/posts\/10857\/revisions"}],"predecessor-version":[{"id":10864,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/posts\/10857\/revisions\/10864"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/media\/10858"}],"wp:attachment":[{"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/media?parent=10857"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/categories?post=10857"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/proxynet.io\/tr\/wp-json\/wp\/v2\/tags?post=10857"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}