lostyazilim
tr.link

Php bot ile ilgili bir sorun

10 Mesajlar 1.254 Okunma
acebozum
tr.link

berrynetwork berrynetwork WM Aracı Kullanıcı
  • Üyelik 08.04.2014
  • Yaş/Cinsiyet 40 / E
  • Meslek web design ve yazılım
  • Konum Antalya
  • Ad Soyad N** U**
  • Mesajlar 181
  • Beğeniler 16 / 24
  • Ticaret 2, (%100)
Merhabalar arkadaşlar, bir web sitesinden veri çekiyorum. Ancak ürünlerin listelendiği sayfada sayfalama yapılmış ve sonraki sayfaya geçiş linkleri javascript ile verilmiş. Yani sonraki sayfa dediğimizde sonraki sayfaya gidiyor ancak url değişmiyor. Hal böyle olunca sonraki sayfalardan veri çekmek imkansız gibi bir şey oldu. Sonraki sayfa butonuna tanmlanan link ve normal url aşağıdaki gibidir. Sonraki sayfadan veri çekmek için ne yapmam gerekli bilgisi olan yardımcı olabilir mi.

Normal url : http://www.wengehome.com/Products2.aspx?urun=SAayakli
Sonraki Sayfa Linki : "ctl00$ContentPlaceHolder1$rptSayfalamaButonlari$ctl01$lnkSayfalar","",true,"","",false,true))

yukarıdaki linkte $ctl01 şeklinde bir değişken var. Bu sayfa numarasını temsil ediyor ancak nasıl veri alıcam bir türlü çözemedim. Curl kullanıyorum verileri çekerken ama veri çekeceğim linke ne yazmam gerekiyor bu durumda çözemedim bir türlü.
 

 

wmaraci
reklam

HidrolikAdam HidrolikAdam yok Kullanıcı
  • Üyelik 17.10.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek yok.
  • Konum İstanbul Anadolu
  • Ad Soyad E** Ç**
  • Mesajlar 475
  • Beğeniler 316 / 114
  • Ticaret 1, (%100)
Benimde zaman zaman müzdarip olduğum bir konu bu, takipteyim...
 

 

Mimarlık/Bilgisayar Mühendisliği Öğrencisi. Kendi halinde.

Caesar Caesar ich bin /root Kullanıcı
  • Üyelik 24.08.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** B**
  • Mesajlar 837
  • Beğeniler 77 / 558
  • Ticaret 10, (%100)
http://php.net/manual/en/function.preg-match.php
http://php.net/manual/en/function.preg-match-all.php
 

 

>/dev/null 2>&1

pg13 pg13 Xcode. Kullanıcı
  • Üyelik 01.10.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek BilişimTeknolojileri Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 321
  • Beğeniler 72 / 101
  • Ticaret 11, (%100)


arkadaşın sorduğu şeyin bunla bir ilgisi yok.

bana çözümü yok gibi geliyor. varsa da ben bilmiyorum. takipteyim.
 

 

wmaraci
wmaraci

Caesar Caesar ich bin /root Kullanıcı
  • Üyelik 24.08.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** B**
  • Mesajlar 837
  • Beğeniler 77 / 558
  • Ticaret 10, (%100)

pg13 adlı üyeden alıntı

arkadaşın sorduğu şeyin bunla bir ilgisi yok.

bana çözümü yok gibi geliyor. varsa da ben bilmiyorum. takipteyim.


Şaka mı yapiyorsun trollüyor musun?
 

 

>/dev/null 2>&1

pg13 pg13 Xcode. Kullanıcı
  • Üyelik 01.10.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek BilişimTeknolojileri Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 321
  • Beğeniler 72 / 101
  • Ticaret 11, (%100)

Caesar adlı üyeden alıntı

Şaka mı yapiyorsun trollüyor musun?
Bilmediğin şeye karışma o zaman. Çözüm ilgili linklerde.


arkadaş ajax ile yapılan sayfalamadan veri çekmekten bahsetmiş.
php.net den fonksiyon linki vermekle olmuyor bu işler. üstelik arkadaşın verdiği örnekteki sayfa php de değil. konuyu bile doğru düzgün okumamışsın anlaşılan.
 

 

Caesar Caesar ich bin /root Kullanıcı
  • Üyelik 24.08.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** B**
  • Mesajlar 837
  • Beğeniler 77 / 558
  • Ticaret 10, (%100)

pg13 adlı üyeden alıntı

arkadaş ajax ile yapılan sayfalamadan veri çekmekten bahsetmiş.
php.net den fonksiyon linki vermekle olmuyor bu işler. üstelik arkadaşın verdiği örnekteki sayfa php de değil. konuyu bile doğru düzgün okumamışsın anlaşılan.


Hocam kafan mı güzel konu PHP kategorisinde adam curl ile bilgi çekecek.

Hakkaten sorun var sende. Bi çık git konudan adama yardımcı olayım.
 

 

>/dev/null 2>&1

pg13 pg13 Xcode. Kullanıcı
  • Üyelik 01.10.2013
  • Yaş/Cinsiyet 41 / E
  • Meslek BilişimTeknolojileri Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** Ö**
  • Mesajlar 321
  • Beğeniler 72 / 101
  • Ticaret 11, (%100)

Caesar adlı üyeden alıntı

Şaka mı yapiyorsun trollüyor musun?


Caesar adlı üyeden alıntı

Hocam kafan mı güzel konu PHP kategorisinde adam curl ile bilgi çekecek.

Hakkaten sorun var sende. Bi çık git konudan adama yardımcı olayım.



önce bir uslubuna dikkat edersen sevinirim.

konu php kategorisinde olabilir. ama bu bir javascript sorusu. preg_match ile bu sorunu çözüp kodları koy buraya çok biliyorsan.
Caesar

kişi bu mesajı beğendi.

Caesar Caesar ich bin /root Kullanıcı
  • Üyelik 24.08.2015
  • Yaş/Cinsiyet 39 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İstanbul Anadolu
  • Ad Soyad O** B**
  • Mesajlar 837
  • Beğeniler 77 / 558
  • Ticaret 10, (%100)

function WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit) {
this.eventTarget = eventTarget;
this.eventArgument = eventArgument;
this.validation = validation;
this.validationGroup = validationGroup;
this.actionUrl = actionUrl;
this.trackFocus = trackFocus;
this.clientSubmit = clientSubmit;
}
function WebForm_DoPostBackWithOptions(options) {
var validationResult = true;
if (options.validation) {
if (typeof(Page_ClientValidate) == 'function') {
validationResult = Page_ClientValidate(options.validationGroup);
}
}
if (validationResult) {
if ((typeof(options.actionUrl) != "undefined") && (options.actionUrl != null) && (options.actionUrl.length > 0)) {
theForm.action = options.actionUrl;
}
if (options.trackFocus) {
var lastFocus = theForm.elements["__LASTFOCUS"];
if ((typeof(lastFocus) != "undefined") && (lastFocus != null)) {
if (typeof(document.activeElement) == "undefined") {
lastFocus.value = options.eventTarget;
}
else {
var active = document.activeElement;
if ((typeof(active) != "undefined") && (active != null)) {
if ((typeof(active.id) != "undefined") && (active.id != null) && (active.id.length > 0)) {
lastFocus.value = active.id;
}
else if (typeof(active.name) != "undefined") {
lastFocus.value = active.name;
}
}
}
}
}
}
if (options.clientSubmit) {
__doPostBack(options.eventTarget, options.eventArgument);
}
}


İlgili js fonksiyonu bu fonksiyona göre sayfalamayı preg_match ile bulup veriyi öyle çekecek.

Kaç sayfa olduğunu ne ile bulacak yukardan bilgi mi gelecek.

tabii ki preg_match kullanacak.

Ek Olarak:

pg13 adlı üyeden alıntı

önce bir uslubuna dikkat edersen sevinirim.

konu php kategorisinde olabilir. ama bu bir javascript sorusu. preg_match ile bu sorunu çözüp kodları koy buraya çok biliyorsan.


Tamam çok hızlı bağırdım çağırdım özür dilerim.

Şimdi detaylı inceledim.

1. Yukarıdaki cjde olduğu gibi 7 değişken gidiyor bu değişkenleri oraya post ederek bir callback id oluşturuluyor.

BU ID yi curl ile alabilirsin. Daha sonra bu callback id ile tekrardan bir post gönderilirip XML çıktı oluşuyor ve sayfalama ve içerik bu XML çıktıya göre listeleniyor.

XML çıktı için callback id alip kendinizi tanıtmanız gerekiyor.
pg13

kişi bu mesajı beğendi.

>/dev/null 2>&1

berrynetwork berrynetwork WM Aracı Kullanıcı
  • Üyelik 08.04.2014
  • Yaş/Cinsiyet 40 / E
  • Meslek web design ve yazılım
  • Konum Antalya
  • Ad Soyad N** U**
  • Mesajlar 181
  • Beğeniler 16 / 24
  • Ticaret 2, (%100)
arkadaşlar cevaplarınız için teşekkür ederim ancak rica ediyorum birbirimizi kırmayalım. Yanlış anlaşılmalar olabilir ama olgunlukla karşılayalım birbirimizi lütfen. Sorunu nasıl çözeceğim konusunda henüz pek bir şey anlayamadım açıkcası. Böyle bir link ilk defa karşıma geldiği için afalladım resmen. Nasıl bir yol izlemek gerekli acaba.
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al