Puppeteer ile Proxy Kullanımı: Eksiksiz Rehber
Headless Chrome otomasyonu için GProxy proxy'lerini Puppeteer ile kurun. Proxy kimlik doğrulama, sayfa bazında proxy değiştirme ve stealth tekniklerini kapsar.
Ön koşullar
- ✓[
- ✓"
- ✓N
- ✓o
- ✓d
- ✓e
- ✓.
- ✓j
- ✓s
- ✓
- ✓1
- ✓6
- ✓+
- ✓
- ✓k
- ✓u
- ✓r
- ✓u
- ✓l
- ✓u
- ✓
- ✓o
- ✓l
- ✓m
- ✓a
- ✓l
- ✓ı
- ✓"
- ✓,
- ✓
- ✓"
- ✓P
- ✓u
- ✓p
- ✓p
- ✓e
- ✓t
- ✓e
- ✓e
- ✓r
- ✓
- ✓k
- ✓u
- ✓r
- ✓u
- ✓l
- ✓u
- ✓
- ✓o
- ✓l
- ✓m
- ✓a
- ✓l
- ✓ı
- ✓
- ✓(
- ✓n
- ✓p
- ✓m
- ✓
- ✓i
- ✓n
- ✓s
- ✓t
- ✓a
- ✓l
- ✓l
- ✓
- ✓p
- ✓u
- ✓p
- ✓p
- ✓e
- ✓t
- ✓e
- ✓e
- ✓r
- ✓)
- ✓"
- ✓,
- ✓
- ✓"
- ✓A
- ✓k
- ✓t
- ✓i
- ✓f
- ✓
- ✓p
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓p
- ✓a
- ✓k
- ✓e
- ✓t
- ✓i
- ✓
- ✓o
- ✓l
- ✓a
- ✓n
- ✓
- ✓b
- ✓i
- ✓r
- ✓
- ✓G
- ✓P
- ✓r
- ✓o
- ✓x
- ✓y
- ✓
- ✓h
- ✓e
- ✓s
- ✓a
- ✓b
- ✓ı
- ✓"
- ✓,
- ✓
- ✓"
- ✓T
- ✓e
- ✓m
- ✓e
- ✓l
- ✓
- ✓J
- ✓a
- ✓v
- ✓a
- ✓S
- ✓c
- ✓r
- ✓i
- ✓p
- ✓t
- ✓/
- ✓a
- ✓s
- ✓y
- ✓n
- ✓c
- ✓-
- ✓a
- ✓w
- ✓a
- ✓i
- ✓t
- ✓
- ✓b
- ✓i
- ✓l
- ✓g
- ✓i
- ✓s
- ✓i
- ✓"
- ✓]
Adım adım kurulum
[
{
"
T
I
T
L
E
"
:
"
P
U
P
P
E
T
E
E
R
'
I
K
U
R
U
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
U
P
P
E
T
E
E
R
'
I
N
P
M
I
L
E
K
U
R
U
N
"
,
"
C
O
D
E
"
:
"
N
P
M
I
N
S
T
A
L
L
P
U
P
P
E
T
E
E
R
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
-
P
L
U
G
I
N
-
S
T
E
A
L
T
H
"
}
,
{
"
T
I
T
L
E
"
:
"
T
A
R
A
Y
I
C
I
Y
I
P
R
O
X
Y
I
L
E
B
A
Ş
L
A
T
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
C
H
R
O
M
E
'
U
G
P
R
O
X
Y
P
R
O
X
Y
'
S
I
I
L
E
Y
A
P
I
L
A
N
D
I
R
I
N
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
P
U
P
P
E
T
E
E
R
=
R
E
Q
U
I
R
E
(
'
P
U
P
P
E
T
E
E
R
'
)
;
\
N
\
N
C
O
N
S
T
B
R
O
W
S
E
R
=
A
W
A
I
T
P
U
P
P
E
T
E
E
R
.
L
A
U
N
C
H
(
{
\
N
A
R
G
S
:
[
'
-
-
P
R
O
X
Y
-
S
E
R
V
E
R
=
H
T
T
P
:
/
/
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
]
\
N
}
)
;
\
N
C
O
N
S
T
P
A
G
E
=
A
W
A
I
T
B
R
O
W
S
E
R
.
N
E
W
P
A
G
E
(
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
P
R
O
X
Y
'
D
E
K
I
M
L
I
K
D
O
Ğ
R
U
L
A
Y
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
A
G
E
.
A
U
T
H
E
N
T
I
C
A
T
E
(
)
I
L
E
P
R
O
X
Y
K
I
M
L
I
K
B
I
L
G
I
L
E
R
I
N
I
A
Y
A
R
L
A
Y
I
N
"
,
"
C
O
D
E
"
:
"
A
W
A
I
T
P
A
G
E
.
A
U
T
H
E
N
T
I
C
A
T
E
(
{
\
N
U
S
E
R
N
A
M
E
:
'
Y
O
U
R
_
U
S
E
R
N
A
M
E
'
,
\
N
P
A
S
S
W
O
R
D
:
'
Y
O
U
R
_
P
A
S
S
W
O
R
D
'
\
N
}
)
;
\
N
\
N
A
W
A
I
T
P
A
G
E
.
G
O
T
O
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
)
;
\
N
C
O
N
S
O
L
E
.
L
O
G
(
A
W
A
I
T
P
A
G
E
.
C
O
N
T
E
N
T
(
)
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
S
T
E
A
L
T
H
E
K
L
E
N
T
I
S
I
N
I
E
K
L
E
Y
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
T
E
S
P
I
T
T
E
N
K
A
Ç
I
N
M
A
K
I
Ç
I
N
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
-
P
L
U
G
I
N
-
S
T
E
A
L
T
H
K
U
L
L
A
N
I
N
"
,
"
C
O
D
E
"
:
"
C
O
N
S
T
P
U
P
P
E
T
E
E
R
=
R
E
Q
U
I
R
E
(
'
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
'
)
;
\
N
C
O
N
S
T
S
T
E
A
L
T
H
P
L
U
G
I
N
=
R
E
Q
U
I
R
E
(
'
P
U
P
P
E
T
E
E
R
-
E
X
T
R
A
-
P
L
U
G
I
N
-
S
T
E
A
L
T
H
'
)
;
\
N
P
U
P
P
E
T
E
E
R
.
U
S
E
(
S
T
E
A
L
T
H
P
L
U
G
I
N
(
)
)
;
\
N
\
N
C
O
N
S
T
B
R
O
W
S
E
R
=
A
W
A
I
T
P
U
P
P
E
T
E
E
R
.
L
A
U
N
C
H
(
{
\
N
A
R
G
S
:
[
'
-
-
P
R
O
X
Y
-
S
E
R
V
E
R
=
H
T
T
P
:
/
/
P
R
O
X
Y
.
G
P
R
O
X
Y
.
N
E
T
:
1
0
0
0
'
]
\
N
}
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
G
E
R
E
K
S
I
Z
K
A
Y
N
A
K
L
A
R
I
E
N
G
E
L
L
E
Y
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
G
Ö
R
S
E
L
L
E
R
I
V
E
F
O
N
T
L
A
R
I
E
N
G
E
L
L
E
Y
E
R
E
K
S
C
R
A
P
I
N
G
'
I
H
I
Z
L
A
N
D
I
R
I
N
"
,
"
C
O
D
E
"
:
"
A
W
A
I
T
P
A
G
E
.
S
E
T
R
E
Q
U
E
S
T
I
N
T
E
R
C
E
P
T
I
O
N
(
T
R
U
E
)
;
\
N
P
A
G
E
.
O
N
(
'
R
E
Q
U
E
S
T
'
,
(
R
E
Q
)
=
>
{
\
N
I
F
(
[
'
I
M
A
G
E
'
,
'
F
O
N
T
'
,
'
S
T
Y
L
E
S
H
E
E
T
'
]
.
I
N
C
L
U
D
E
S
(
R
E
Q
.
R
E
S
O
U
R
C
E
T
Y
P
E
(
)
)
)
\
N
R
E
Q
.
A
B
O
R
T
(
)
;
\
N
E
L
S
E
\
N
R
E
Q
.
C
O
N
T
I
N
U
E
(
)
;
\
N
}
)
;
"
}
,
{
"
T
I
T
L
E
"
:
"
T
E
S
T
E
D
I
N
V
E
D
O
Ğ
R
U
L
A
Y
I
N
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
P
R
O
X
Y
'
N
I
N
D
O
Ğ
R
U
Ç
A
L
I
Ş
T
I
Ğ
I
N
I
O
N
A
Y
L
A
Y
I
N
"
,
"
C
O
D
E
"
:
"
A
W
A
I
T
P
A
G
E
.
G
O
T
O
(
'
H
T
T
P
S
:
/
/
H
T
T
P
B
I
N
.
O
R
G
/
I
P
'
)
;
\
N
C
O
N
S
T
B
O
D
Y
=
A
W
A
I
T
P
A
G
E
.
E
V
A
L
U
A
T
E
(
(
)
=
>
D
O
C
U
M
E
N
T
.
B
O
D
Y
.
I
N
N
E
R
T
E
X
T
)
;
\
N
C
O
N
S
O
L
E
.
L
O
G
(
'
C
U
R
R
E
N
T
I
P
:
'
,
J
S
O
N
.
P
A
R
S
E
(
B
O
D
Y
)
.
O
R
I
G
I
N
)
;
\
N
A
W
A
I
T
B
R
O
W
S
E
R
.
C
L
O
S
E
(
)
;
"
}
]
Kod örnekleri
Puppeteer ile neden proxy kullanmalısınız?
Puppeteer, headless Chrome'u kontrol etmek için Google'ın resmi Node.js kütüphanesidir. Web scraping, test ve otomasyon için yaygın olarak kullanılır. Sitelere ölçekli erişimde IP engellerinden ve istek limitlerinden kaçınmak için proxy'lere ihtiyacınız olur. GProxy'nin 150+ ülkede 10M+ residential IP'den oluşan havuzu, Puppeteer betiklerinizin herhangi bir konumdan gelen gerçek kullanıcılar gibi görünmesini sağlar.
Temel proxy kurulumu
Puppeteer, proxy yapılandırmasını Chrome başlatma argümanları üzerinden destekler. Tarayıcıyı başlatırken --proxy-server parametresini verin. GProxy'nin HTTP proxy'leri için biçim basittir. Selenium'un aksine Puppeteer, page.authenticate() metodu sayesinde proxy kimlik doğrulaması üzerinde programatik denetim verir; böylece tarayıcı eklentisine gerek kalmaz.
Sayfa bazında proxy kimlik doğrulama
Puppeteer'ın page.authenticate() metodu proxy kimlik doğrulamasını zarif biçimde halleder. Proxy kimlik doğrulama istediğinde otomatik gönderilecek bilgileri ayarlamak için sayfaya gitmeden önce bu metodu çağırın. Bu, GProxy'nin kullanıcı adı/parola kimlik doğrulamasıyla doğrudan çalışır.
Proxy rotasyon stratejileri
Puppeteer'da iki rotasyon stratejiniz vardır: tarayıcı düzeyi (her proxy için yeni bir tarayıcı başlatmak) ve bağlam düzeyi (yeni gizli bağlamlar oluşturmak). Tarayıcı bağlamları tam tarayıcı örneklerinden daha hafiftir ve bağlam başına farklı proxy yapılandırmalarını destekler; bu da onları farklı IP'lerle eşzamanlı scraping için ideal kılar.
Stealth ve tespit önleme
Modern siteler otomatik tarayıcıları tespit etmek için fingerprinting kullanır. Tespitten kaçınmak için GProxy residential proxy'lerini puppeteer-extra ve stealth eklentisiyle birleştirin. Stealth eklentisi navigator.webdriver, chrome.runtime ve WebGL fingerprint'leri gibi yaygın tespit vektörlerini yamalar.
Performans optimizasyonu
Proxy'li Puppeteer'ı şöyle optimize edin: istek yakalama ile gereksiz kaynakları (görseller, fontlar, CSS) engelleyin, uygun zaman aşımı değerleri belirleyin, tarayıcı örneklerini yeni sayfalarla yeniden kullanın ve hız açısından kritik olan, hassas olmayan scraping işleri için GProxy'nin veri merkezi proxy'lerini kullanın.
Kullanım senaryoları
[
{
"
T
I
T
L
E
"
:
"
S
P
A
S
C
R
A
P
I
N
G
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
İ
Ç
E
R
I
Ğ
I
O
L
U
Ş
T
U
R
M
A
K
I
Ç
I
N
J
A
V
A
S
C
R
I
P
T
Ç
A
L
I
Ş
T
I
R
M
A
S
I
G
E
R
E
K
E
N
T
E
K
S
A
Y
F
A
L
I
K
U
Y
G
U
L
A
M
A
L
A
R
D
A
N
V
E
R
I
Ç
E
K
I
N
.
"
}
,
{
"
T
I
T
L
E
"
:
"
E
K
R
A
N
G
Ö
R
Ü
N
T
Ü
S
Ü
S
E
R
V
I
S
L
E
R
I
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
Ü
L
K
E
H
E
D
E
F
L
I
P
R
O
X
Y
'
L
E
R
L
E
F
A
R
K
L
I
Ü
L
K
E
L
E
R
D
E
N
S
I
T
E
E
K
R
A
N
G
Ö
R
Ü
N
T
Ü
L
E
R
I
Ü
R
E
T
I
N
.
"
}
,
{
"
T
I
T
L
E
"
:
"
F
I
Y
A
T
K
A
R
Ş
I
L
A
Ş
T
I
R
M
A
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
K
O
N
U
M
A
Ö
Z
E
L
R
E
S
I
D
E
N
T
I
A
L
I
P
'
L
E
R
L
E
R
A
K
I
P
F
I
Y
A
T
L
A
R
I
N
I
B
Ö
L
G
E
L
E
R
A
R
A
S
I
N
D
A
I
Z
L
E
Y
I
N
.
"
}
,
{
"
T
I
T
L
E
"
:
"
S
O
S
Y
A
L
M
E
D
Y
A
O
T
O
M
A
S
Y
O
N
U
"
,
"
D
E
S
C
R
I
P
T
I
O
N
"
:
"
H
E
S
A
P
B
A
Ş
I
N
A
B
E
N
Z
E
R
S
I
Z
I
P
I
L
E
S
O
S
Y
A
L
M
E
D
Y
A
I
Ş
A
K
I
Ş
L
A
R
I
N
I
O
T
O
M
A
T
I
K
L
E
Ş
T
I
R
I
N
.
"
}
]
FAQ
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Başlamaya hazır mısınız?
GProxy ile dakikalar içinde başlayın — residential proxy'ler $0.85/GB'den, IPv6 $0.03/proxy'den, kullandıkça öde.
