Sebenarnya, saya tidak bersetuju dengan kenyataan perangkak DHT.
Bahasa yang berbeza secara semula jadi akan mempunyai kegunaan yang berbeza. Bercakap tentang mana satu baik atau buruk tanpa persekitaran hanyalah satu samseng.
1. Jika anda melakukannya untuk berseronok, merangkak beberapa halaman dengan cara yang disasarkan, dan jika kecekapan bukan keperluan teras, masalahnya tidak akan menjadi besar, dan perbezaan prestasi tidak akan menjadi besar. Sudah tentu, jika anda menemui halaman yang sangat kompleks dan ungkapan biasa adalah sangat kompleks, kebolehselenggaraan perangkak akan berkurangan.
2. Jika anda melakukan rangkak arah dan sasaran perlu menghuraikan js dinamik.
Jadi pada masa ini, kaedah menggunakan halaman permintaan biasa dan kemudian mendapatkan kandungan pasti tidak akan berfungsi Enjin js yang serupa dengan firfox dan chrome diperlukan untuk menghuraikan kod js secara dinamik. Pada masa ini, kami mengesyorkan casperJS phantomjs atau slimerJS phantomjs
3. Jika tapak web berskala besar merangkak
Pada masa ini, kecekapan, kebolehskalaan, kebolehselenggaraan, dsb. mesti dipertimbangkan.
Rangkaan berskala besar melibatkan banyak aspek, seperti rangkak teragih, mekanisme pertimbangan berat dan penjadualan tugas. Manakah antara soalan ini lebih mudah jika anda mendalami?
Pemilihan bahasa amat penting pada masa ini.
NodeJs: Ia sangat cekap dalam merangkak. Konkurensi tinggi, pengaturcaraan berbilang benang menjadi traversal dan panggilan balik yang mudah, memori dan penggunaan CPU adalah kecil, dan panggilan balik mesti dikendalikan dengan baik.
PHP: Pelbagai rangka kerja tersedia di mana-mana, anda boleh menggunakan mana-mana sahaja. Walau bagaimanapun, terdapat masalah dengan kecekapan PHP... Saya tidak akan bercakap banyak
Python: Saya menulis lebih banyak dalam python, dan ia mempunyai sokongan yang lebih baik untuk pelbagai masalah. Rangka kerja scrapy mudah digunakan dan mempunyai banyak kelebihan.
Saya rasa js tidak begitu sesuai untuk menulis... isu kecekapan. Jika saya tidak menulisnya, saya mungkin akan menghadapi banyak masalah.
Setahu saya, syarikat besar juga menggunakan C Secara ringkasnya, kebanyakannya diubah suai pada rangka kerja sumber terbuka. Tidak ramai orang benar-benar mencipta semula roda.
tidak bernilai.
Saya menulis ini secara santai berdasarkan tanggapan saya.
Gunakan pyspider, prestasinya tidak lebih buruk daripada scrapy, lebih fleksibel, dengan WEBUI, dan juga menyokong rangkak JS~
Anda boleh memainkannya dengan demo anda sendiri~
Perangkak berprestasi tinggi tidak sesuai untuk concurrency seperti pelayan, tetapi untuk kecekapan (kurangkan duplikasi) lebih sesuai untuk paralelisme daripada concurrency.
Nah saya silap lagi.
Konkurensi dan keselarian hampir sama untuk perangkak~
Kebanyakan mereka menggunakan python, dan sudah tentu terdapat juga banyak java c . Python datang dengan cepat dan mempunyai kelebihan besar berbanding aplikasi bersaiz kecil dan sederhana Jika ia berskala besar, pengoptimuman atau C diperlukan untuk menulis semula beberapa kod kesesakan prestasi.
Anda boleh mencuba alat jsoup, yang dibangunkan menggunakan java.
Mari mula menggunakan nod sekarang. JavaScript ialah orang yang paling memahami HTML
nodey 1
nodey 1
Sebenarnya, saya tidak bersetuju dengan kenyataan perangkak DHT.
Bahasa yang berbeza secara semula jadi akan mempunyai kegunaan yang berbeza. Bercakap tentang mana satu baik atau buruk tanpa persekitaran hanyalah satu samseng.
1. Jika anda melakukannya untuk berseronok, merangkak beberapa halaman dengan cara yang disasarkan, dan jika kecekapan bukan keperluan teras, masalahnya tidak akan menjadi besar, dan perbezaan prestasi tidak akan menjadi besar. Sudah tentu, jika anda menemui halaman yang sangat kompleks dan ungkapan biasa adalah sangat kompleks, kebolehselenggaraan perangkak akan berkurangan.
2. Jika anda melakukan rangkak arah dan sasaran perlu menghuraikan js dinamik.
Jadi pada masa ini, kaedah menggunakan halaman permintaan biasa dan kemudian mendapatkan kandungan pasti tidak akan berfungsi Enjin js yang serupa dengan firfox dan chrome diperlukan untuk menghuraikan kod js secara dinamik. Pada masa ini, kami mengesyorkan casperJS phantomjs atau slimerJS phantomjs
3. Jika tapak web berskala besar merangkak
Pada masa ini, kecekapan, kebolehskalaan, kebolehselenggaraan, dsb. mesti dipertimbangkan.
Rangkaan berskala besar melibatkan banyak aspek, seperti rangkak teragih, mekanisme pertimbangan berat dan penjadualan tugas. Manakah antara soalan ini lebih mudah jika anda mendalami?
Pemilihan bahasa amat penting pada masa ini.
NodeJs: Ia sangat cekap dalam merangkak. Konkurensi tinggi, pengaturcaraan berbilang benang menjadi traversal dan panggilan balik yang mudah, memori dan penggunaan CPU adalah kecil, dan panggilan balik mesti dikendalikan dengan baik.
PHP: Pelbagai rangka kerja tersedia di mana-mana, anda boleh menggunakan mana-mana sahaja. Walau bagaimanapun, terdapat masalah dengan kecekapan PHP... Saya tidak akan bercakap banyak
Python: Saya menulis lebih banyak dalam python, dan ia mempunyai sokongan yang lebih baik untuk pelbagai masalah. Rangka kerja scrapy mudah digunakan dan mempunyai banyak kelebihan.
Saya rasa js tidak begitu sesuai untuk menulis... isu kecekapan. Jika saya tidak menulisnya, saya mungkin akan menghadapi banyak masalah.
Setahu saya, syarikat besar juga menggunakan C Secara ringkasnya, kebanyakannya diubah suai pada rangka kerja sumber terbuka. Tidak ramai orang benar-benar mencipta semula roda.
tidak bernilai.
Saya menulis ini secara santai berdasarkan tanggapan saya.
Gunakan pyspider, prestasinya tidak lebih buruk daripada scrapy, lebih fleksibel, dengan WEBUI, dan juga menyokong rangkak JS~
Anda boleh memainkannya dengan demo anda sendiri~
selenium
nodejs 1
Tidak, saya silap.
Perangkak berprestasi tinggi tidak sesuai untuk concurrency seperti pelayan, tetapi untuk kecekapan (kurangkan duplikasi) lebih sesuai untuk paralelisme daripada concurrency.
Nah saya silap lagi.
Konkurensi dan keselarian hampir sama untuk perangkak~
Tidak, ia berbeza.
Lupakan, nodejs 1.
Kebanyakan mereka menggunakan python, dan sudah tentu terdapat juga banyak java c . Python datang dengan cepat dan mempunyai kelebihan besar berbanding aplikasi bersaiz kecil dan sederhana Jika ia berskala besar, pengoptimuman atau C diperlukan untuk menulis semula beberapa kod kesesakan prestasi.
Anda boleh mencuba python's scrapy