Python爬蟲(chóng)實(shí)戰(zhàn)之提高CSDN訪問(wèn)量
python爬蟲(chóng)之建立代理池(一)_CodingInCV的博客-CSDN博客: https://blog.csdn.net/liuhao3285/article/details/131762924
python爬蟲(chóng)之建立代理池(二)_CodingInCV的博客-CSDN博客: https://blog.csdn.net/liuhao3285/article/details/131819568
前面2篇分別介紹了從2個(gè)免費(fèi)代理網(wǎng)站爬取免費(fèi)代理來(lái)構(gòu)建我們自己的代理池。這一篇我們從實(shí)戰(zhàn)的角度來(lái)將我們的代理池用起來(lái),通過(guò)代理的方式訪問(wèn)我們的CSDN博客(CSDN會(huì)認(rèn)為是一次訪問(wèn),訪問(wèn)量+1),從而實(shí)現(xiàn)訪問(wèn)量的增長(zhǎng),僅供學(xué)習(xí)爬蟲(chóng)使用···
獲取博客文章列表和鏈接
獲取博客列表的鏈接是https://blog.csdn.net/xxx/article/list/, 通過(guò)在后面添加頁(yè)數(shù),獲取不同頁(yè)的博客列表。

通過(guò)分析頁(yè)面的html,我們可以知道文章都在html的“article-item-box”中,因此我們可以通過(guò)在返回的html中查找“article-item-box”來(lái)得到所有的文章鏈接。
通過(guò)代理訪問(wèn)CSDN文章
通過(guò)設(shè)置requests接口的proxies參數(shù),即可以代理的方式訪問(wèn)CSDN的博客。為了更像一個(gè)真正的瀏覽器,我們還要經(jīng)常切換User-Agent,也就是瀏覽器的頭。
進(jìn)階
User-Agent
The Latest and Most Common User Agents List (Updated Weekly): https://www.useragents.me/我們可以從這個(gè)網(wǎng)站下載User-Agent列表,每次訪問(wèn)時(shí)從中隨機(jī)一個(gè)。
代理池管理
前面只是從代理網(wǎng)站爬取了代理,為了有效管理,我們可以在這些代理基礎(chǔ)上,進(jìn)一步開(kāi)發(fā)代理池的持久化功能,比如當(dāng)有代理增加或者刪除時(shí),立即保存到本地;也可以將代理保存到redis, 實(shí)時(shí)更新,要獲取代理時(shí),也從redis中獲取。簡(jiǎn)單起見(jiàn),這里以保存到本地json為例:
定時(shí)爬取最新的代理和文章列表
可以借助apscheduler建立2個(gè)定時(shí)任務(wù),免去自己手動(dòng)實(shí)現(xiàn)定時(shí)任務(wù):