Giriş PHP ile Ekran Kazıma

5 Cevap php

Buna bir çözüm için etrafa, ben farklı yöntemler bulduk. Bazıları regex, bazı kullanım DOM komut dosyası falan.

Ben, bir siteye gitmek oturum, bir form doldurmak ve ardından form gönderilecektir olmadığını kontrol etmek istiyorum. Kısmen günlük ben bir şey bulamıyorum parçasıdır.

Herkes bunu yapmak için kolay bir yol biliyor musun?

5 Cevap

(Ben PHP değil biliyorum, ama bu ekran kazıma, web birim test, ve bu tür için çok kullanışlı) Perl HS kütüphanesinde bakmak isteyebilirsiniz:

Ben Les ile kabul ediyorum. Curl + Charles (veya Fiddler, Firefox'un Tamper Data uzatma, wireshark, vb) hep bu yaptığım yoludur. Ben buldum bir hile bazı siteler üç aşamalı bir süreci gerektirir ki:

  1. Herhangi bir oturum kimlikleri, çerezler, ve / veya gerekli alanları (örn.. Net siteleri __ VIEWSTATE ve __ EVENTVALIDATION var) almak için ilk olarak bir GET isteği ile giriş sayfasını çarptı.
  2. Bu değerleri var bir kere, daha sonra giriş sayfasına göndermek
  3. Son olarak, sonra konum ne olursa olsun kaynak isteyin.

Curl çerez kavanoz ve çerez dosyası çok yardımcı olmanın planı yok. Muhtemelen basit bir regex kullanarak oturum kimliği ve başlıklarından çerezleri ayrıştırma kapalı iyi olacak.

Bu yardımcı olur umarım!

GUI bir sürü şey yapmak gerekiyorsa script tarayıcı çeşit ile daha iyi olabilir. PHP kullanmanız gerekiyorsa, kıvrılmasını kontrol: http://us2.php.net/curl

ne genellikle yapmak kadar ateş olan charles bir tarayıcıda giriş sürecinden geçmesi ve ham istekleri kaydedebilirsiniz. Kopyala + istekleri yapıştırın ve (yanıtlara göre bazı küçük ayarlamalar ile) fopen veya curl Onları yoluyla atmak.

Ben bu deneyimi adil biraz var. Ben Curl kullanırdık ama bunu kullanarak hiç eğlenceli değil. Özellikle birçok kez site XSRF belirteçleri değişimi, ya da gizli değişkenler geçmek, ya da kurabiye her türlü ayarlayın. Curl ile tüm bu izleme zorlaşır. En azından benim için.

Sonra Selenyum araştırdı ve ben onu seviyorum. 2 şey-1) (sadece Firefox'ta çalışır) Selenyum IDE yüklemek vardır. 2) Selenyum RC Server Kurmak

Selenyum IDE başlattıktan sonra, size sitede yapmak kayıt olayları otomatikleştirmek ve başlatmak için çalışıyoruz sitesine gidin. Tarayıcıda bir makro kaydetme gibi düşün. Daha sonra, istediğiniz dil için kod çıktı almak.

Sadece bu nedenle Browsermob yük testleri için ve tarayıcı otomatik görevler Selenyum kullanır biliyorum.

Ben bir süre önce yapılan bir ppt yükledim. Bu size zaman http://www.4shared.com/get/tlwT3qb_/SeleniumInstructions.html iyi bir miktar kaydetmeniz gerekir

Yukarıdaki linke düzenli download seçeneği seçin.