Web sayfasından rapor alma otomatikleştirmek

4 Cevap php

Ben bir Java geliştiricisi ve ben bana verilen bir görevi otomatik hakkında bir sorum var. Ben, biz işte sahip bu web sitesine giriş birkaç form öğeleri seçin ve sonra basılmış bir rapor almak için göndermeniz tıklayın, günde 3 kez yaşıyorum. Ben bu görevi otomatikleştirmek komut çeşit yazabilirsiniz nasıl merak ediyorum? Nereden başlamalıyım? Ben ne dil yapmalıyım? PHP muhtemelen bunu yapmak mümkün hatta bir Greasemonkey script olabileceğini düşünüyordum?

Çok teşekkürler.

4 Cevap

cURL PHP göz atın. Bu (fareyi hareket dışında) koduyla bir web tarayıcısı tüm normal fonksiyonlarını yapmak için izin verir. Ve evet, ekran kazıma yapmak gerekir.

Ben henüz değindi olmamıştır potansiyel düğüm noktası "bu web sitesine giriş" öbek ... giriş için gereken ne bağlı olduğunu düşünüyorum, sen raporuna erişmek için bir arka kapıdan gitmek gerekebilir.

Bir üçüncü taraf sitesinde bir rapor indirmek zorunda kaldı ben geçmişte bu tür bir şey ile ilgili sorunlar vardı. Sorun ben nedeniyle rapor parametrelerini erişmek için kimlik doğrulaması değil ki oldu-sabit kodlanmış ve daha az-daha-komut-dostu ben siteye giriş için gerekli olan yol. Ancak, sitenizin organizasyon iç olduğunu tahmin, böylece verilere erişmek için güvenlik gereksinimlerini yeniden işleme / atlamak mümkün olabilir. Bu durumda ise, o zaman yukarıda belirtilen ekran kazıma yöntemlerinden birini kullanmak gerekir.

Değilse, sizin, komut dosyası veya uygulama içine gerçek login prosedürü dahil ayarlanmış olabilir çerezleri indirmek ve yakalama ve veri istek içine dahil etmek gerekebilir.

Ben form yazılır hangi dil biliyor, ama ne yapabileceğini değil mi:

  • çağrıldığında rapor üretir bir komut dosyası için formu yeniden
  • Günlük yapılması gereken bu görevi planlamak ve size çıktı posta göndermek için cron girişini kullanabilirsiniz

Bir cron temelde Unix sistemleri üzerinde bir zamanlanmış görev olduğunu. Windows tabanlı sunucular çok aynı sona Görev Zamanlayıcısı kullanabilirsiniz.

Yukarıdaki Eğer şu anda rapor oluşturur ve size e-posta çıkış edecek yeni bir dosyaya kopyalamak / değiştirebilirsiniz komut erişimi olduğunu varsayar. Değilse, o zaman ekran kazıma içine bakmak gerekebilir. Bir Java geliştirici konum olarak, size başlamak için this list of Java screen scraping utilities kullanışlı bulabilirsiniz.

Bu "web kazıma" ya da "ekran kazıma" denir ve bunu yapmak için orada kütüphanelerin bir yeri vardır bulunuyor. Gerçi, bir java özel aracı konuşamıyordu:. Bir Net adam (. Net yolu System.Net.WebClient veya System.Net.HttpWebRequest / System.Net.HttpWebResponse olurdu) değilim. Ama bir şey var eminim.

Bu arada, ilk adım sayfasının kaynağını görüntülemek Eğer giriş form değerleri ve sayfaya gidin. Doldurmakta olduğunuz belirli

elemanı için bakmak ve nakleder nerede olduğunu görmek (bu kadar action). Sonra, formun herhangi bir gizli girişler dahil olmak üzere kullandığınız herhangi ,