python如何快速爬數(shù)據(jù)?
來源:
奇酷教育 發(fā)表于:
其實利用通用技術(shù),多進程、多線程和協(xié)程的手段,可以實現(xiàn)加速爬數(shù)據(jù)。
曾經(jīng)有新聞報道一個公司的員工,調(diào)高了線程數(shù),加速爬數(shù)據(jù),導(dǎo)致對方網(wǎng)站流量監(jiān)控報警,然后就涼了。
其實利用通用技術(shù),多進程、多線程和協(xié)程的手段,可以實現(xiàn)加速。
關(guān)于加速需要學(xué)習(xí)的知識點:
1.理解阻塞、非阻塞、同步、異步、并發(fā)、并行概念
2.熟悉python隊列的使用以及MQ的概念
3.多進程、進程池和進程間通信
4.多線程、線程封裝、線程全局變量、線程互斥、守護線程以及join的用法
5.協(xié)程、yield關(guān)鍵字、gevent、猴子補丁
6.異步請求輪子
7.常見解決方案:多線+異步(scrapy的原理)或 多進程+異步