python如何快速爬數(shù)據(jù)?
來(lái)源:
奇酷教育 發(fā)表於:
其實(shí)利用通用技術(shù),多進(jìn)程、多線(xiàn )程和協(xié)程的手段,可以實(shí)現(xiàn)加速爬數(shù)據(jù)。
曾經(jīng)有新聞報(bào)導(dǎo )一個(gè)公司的員工,調(diào)高了線(xiàn )程數(shù),加速爬數(shù)據(jù),導(dǎo )致對(duì)方網(wǎng)站流量監(jiān)控報(bào)警,然後就涼了。
其實(shí)利用通用技術(shù),多進(jìn)程、多線(xiàn )程和協(xié)程的手段,可以實(shí)現(xiàn)加速。

關(guān)於加速需要學(xué)習(xí)的知識點(diǎn):
1.理解阻塞、非阻塞、同步、異步、並發(fā)、並行概念
2.熟悉python隊(duì)列的使用以及MQ的概念
3.多進(jìn)程、進(jìn)程池和進(jìn)程間通信
4.多線(xiàn )程、線(xiàn )程封裝、線(xiàn )程全局變量、線(xiàn )程互斥、守護(hù)線(xiàn )程以及join的用法
5.協(xié)程、yield關(guān)鍵字、gevent、猴子補丁
6.異步請求輪子
7.常見(jiàn)解決方案:多線(xiàn )+異步(scrapy的原理)或 多進(jìn)程+異步