Kini kami menggunakan rangkak berbilang benang dalam persekitaran tingkap,
gunakan beautifulsoup+lxml untuk menghurai.
N merangkak benang->menghuraikan baris gilir->1 menghuraikan benang->menyimpan baris gilir->1 storan benang
Kecekapan keseluruhan program pelaksanaan tersekat dalam utas penghuraian intensif secara pengiraan Jika anda hanya menambah bilangan utas penghuraian, ia akan meningkatkan penukaran benang di atas dan memperlahankan kelajuan.
Maaf, adakah terdapat cara untuk meningkatkan kecekapan penghuraian dengan ketara?
Mengikut arahan dua paha, sediakan untuk menggunakan
Merangkak tak segerak->Baris gilir menghurai->N proses penghuraian->Baris gilir storan->Benang storan
Bersedia untuk memulakan pembinaan
Sebenarnya, saya rasa awak tulis semula dulu
N个爬取线程
可以换成协程/线程池
实现, 因为你在频繁创建线程本省一种性能耗费, 用线程池虽然可以减少这部分的损耗, 但是上下文切换还是无法避免, 所以协程这方面, 应该是比较合适的.1个解析线程
换成进程池
,多开几个进程去计算密集处理, 其余应该可以不用改, 如果还想再搞, 将核心部分用c/c++
, saya harap ia dapat membantu awakPendekatan saya adalah pelbagai proses. Kelebihan berbilang proses ialah apabila prestasi mesin tunggal tidak mencukupi, anda boleh bertukar kepada perangkak teragih pada bila-bila masa.
Anda boleh mencari perangkak tak segerak tornade dalam talian, saya menggunakan ini