Saya ingin menulis skrip yang mencatat ukuran antrian review penutupan suara di SO (saat ini ~ 95.5k), pemungutan suara hanya beberapa kali dalam satu jam, sehingga saya bisa merencanakan tren umum. Saya tahu apa yang akan saya lakukan mengenai penguraian, yaitu diberi bagian berikut dari respons HTTP,
<div class="dashboard-num" title="95,508">95.5k</div>
Saya akan menerapkan regex
<div\s+class="dashboard-num"\s+title="([^"]+)
dan dibagi dengan \D
dan meledak array untuk hanya menyisakan angka, atau sesuatu yang serupa. (Ya, The Pony, He Comes , tapi ini adalah pekerjaan yang cepat dan kotor di mana saya tidak berharap HTML Stack Overflow berubah.)
Saat ini saya tidak memiliki pengaturan UNIX / Linux, kalau tidak saya akan melempar sesuatu menggunakan cron, cURL, dan Perl (atau sed atau awk jika saya merasa cukup berani). Apa cara termudah untuk melakukan ini di Windows? Apakah ada beberapa utilitas yang dibangun untuk melakukan ini? Saya bersedia untuk menginstal Cygwin dan perangkat lunak semacam itu jika memang cara termudah (katakanlah, dibandingkan dengan menulis skrip batch), tetapi saya berharap untuk beberapa program di mana saya dapat menyediakan URL dan regex dan berada di jalan saya.
.msi
dari python.org, jalankan, Anda sudah siap. Jika Anda ingin ekstra, buka lfd.uci.edu/~gohlke/pythonlibs . Apa yang sulit tentang itu?Jawaban:
Sebenarnya, sambil menunggu seseorang menyarankan program ajaib untuk menyelesaikan setiap kebutuhan saya, saya memutuskan untuk memberi Cygwin kesempatan, dan menemukan itu lebih mudah dilakukan daripada yang saya kira.
Saya hanya
curl
,cron
dancygrunsrv
pada saat instalasi,cron-config
dengan default, memasukkanntsec
daemon, dan memasukkan kata sandi Windows saya, yang berfungsi),dan itu sudah bekerja seperti pesona :-)
sumber
date -Iseconds -u
(ISO-8601) seperti yang saya lakukan. Saya pikir itu adalah standar yang layak tetapi ternyata itu hanya menyusahkan untuk mengkonversi - Perl, Python, dan bahkan Mathematica memerlukan perpustakaan eksternal (ly dikompilasi) atau metode khusus untuk mem-parsing format ini dengan benar (termasuk zona waktu). Gunakandate +%s
sebagai gantinya, untuk detik sejak zaman. Terinspirasi oleh @Emracool.