小豬的Python學習之旅 —— 8.爬蟲實戰:刷某部落格站點的訪問量
引言:
Python併發的文章還在肝,比較乏味,寫個爬蟲小指令碼玩玩,想起之前
在某部落格站點看到,一個人釋出的渣渣文章,半個小時不到2W訪問量,
還連續幾篇都是,然後一個留言或者點讚的都沒有,比較多人看的鴻洋
的部落格,一篇文章掛了3個月也才1w3的訪問量,想想都知道是爬蟲刷的,
小豬頓時正義感作祟,忍不住向他們的客服進行了舉報,然而石沉大海,
並沒有得到任何的回覆,不禁感嘆,時過境遷,物是人非,唉...
最近偶爾有次點出了排行版,看到了這樣的東西???
賣優惠券的都沒人管了...臥槽,這還能忍,這樣對得起那些
辛辛苦苦肝出一篇技術文章的大佬和萌新嗎?
刷訪問量指令碼誰不會寫,而且這個部落格站點不用登入就算一次
訪問量,寫個無限迴圈,然後換著ip去訪問部落格就行了。
具體的流程:
- 1.抓取你部落格所有的文章URL存起來;
- 2.準備一堆代理ip(西刺很多都不行,可以上網買5塊2W個高匿代理ip);
- 3.while True:換著ip,隨機訪問自己的一篇文章;
是的,就是這麼簡單,沒有任何反爬蟲或者懲罰,之前那個人
已經大搖大擺的刷到每篇文章5W多訪問量。所以我選擇搬到掘金...
1.寫一個自己的常用模組
在寫簡單爬蟲的時候,有一些很常用的程式碼段,比如發起一個
請求,然後獲得一個Response;下載圖片;讀寫檔案等,其實
都可以寫到一個py檔案裡(有點像Android裡的工具類),然後要
用到的時候呼叫下就可以了,使用的時候import下你的這個模組
然後就可以用了。比如小豬隨手寫的一個簡易模組:
部分程式碼
這些都可以自己定製,這樣你在寫爬蟲的時候就方便多了。
另外,小豬閒暇沒事也會爬點小東西練練手,初學者可以也跟著
試試,相關指令碼都丟到我的Gayhub上了,按需自取:
2.編寫刷訪問量指令碼
Step 1:獲取部落格的所有連結
開啟:http://blog.csdn.net/coder_pig?viewmode=list
滑動到底部,可以發現有這個東西,要做的就是拿到每一頁的
url,然後處理頁面拿到所有的文章連結都存起來,然後隨手
點開第二頁,發現url變成:
http://blog.csdn.net/zpj779878443/article/list/2
所以我們只需拿到總共有多少頁就可以了,然後自行拼接URL:
瀏覽器f12開啟Elements,Ctrl+f搜 尾頁,直接就定位到了
然後全域性搜下這個papelist,發現也是唯一的,接下來好辦
了,處理下href,拿到最後的頁碼:
接著就是看下每個列表頁的頁面結構,獲取所有的文章url,
然後寫入到一個檔案裡了:
就選我們剛剛開啟的第二頁吧,同樣開啟:Elements,隨手
搜個:小豬淺談Android螢幕適配,就可以定位到:
然後點結點,翻上去,不難找到:
同樣,搜下article_list,同樣是唯一的,拿到這個div,然後
獲取class='link_title'的span,然後拿到裡面的a標籤就可以了:
執行下這個方法,可以看到目錄下生成了csdn_articles_file.txt
點開就可以看到我們所有文章的url了:
第一步完成~
Step 2:訪問網頁
這裡就非常簡單了,換ip,然後給文章發起請求,你連read()
方法都不用執行,另外,這裡還可以新增計數,當返回碼為
200的時候,說明是一次順利的訪問,計數+1,程式碼很簡單:
Step 3:執行程式碼
這裡很簡單,先判斷文章列表檔案是否存在,不存在遍歷,
然後載入檔案裡所有的資料到列表,接著While無限迴圈,
然後random隨機取出一個訪問即可!
執行後開始計數就說明成功了,開啟自己的部落格頁面放著
過一會在兒再重新整理看看訪問量是否增加了就知道了:
3.把指令碼丟到伺服器上跑
自己的電腦總不可能24小時開著是吧,費電,比如我一般下班
就會關電腦,如果想你的指令碼可以24小時不間斷執行,可以丟
到伺服器上,一百來塊就可以買個普通的玩玩了,有興趣自行
百度阿里雲,騰訊雲虛擬主機之類的。
一般是透過ssh命令連結到我們的遠端主機終端
ssh root@主機ip,然後輸入下主機密碼即可連結
然後你可以透過一些ftp工具把自己的指令碼檔案丟到
伺服器上,然後ssh終端執行下python3 xxx.py就可以了。
但是有個問題是,如果你按了ctrl+c或者關閉了這個ssh終端
你的這個指令碼就會停止!所以你需要以後臺程式的方式執行
你的這個Python指令碼,可以使用nobup命令。
鍵入這樣的命令:
nohup python3 -u xxx.py > xxx.out 2>&1 &
解釋下:
-
nohup 和 最後的& 包著的就是讓命令在後臺執行,比如你直接
寫nohup python3 xxx.py &就可以了 - > xxx.out 代表將輸出資訊輸出到xxx.out日誌檔案中
-
2>&1 將資訊變成標準輸出,把錯誤資訊也輸入到日誌檔案中
0代表stdin,1代表stdout,2代表stderr
這樣執行後,會返回一個pid(程式id):
然後你可以透過tail命令跟蹤日誌輸出:
tail -f xxx.out
覺得跑得差不多了想停掉程式執行,只需執行下述命令把程式
殺掉,比如kill -9 19267
kill -9 pid
如果忘記了pid也沒什麼,可以透過下述命令找到:
ps -ef | grep python3
然後kill掉就可以了。另外上面那個執行了8:28分鐘的就是
我昨晚睡覺前執行的指令碼,tail看一波日誌檔案:
怒刷31W訪問量,這個就不說了...
4.Python3 ssl模組找不到
把指令碼丟伺服器上,python3執行的時候一直安裝不了ssl模組,
真是莫名其妙,pip3 install ssl,死命就是報錯,後面搜了
下網上的資料, 先執行下面的兩個命令裝點東西:
apt-get install openssl
apt-get libssl-dev
裝上後還是不行,然後發現是要去改下python3資料夾裡的
程式碼,然後重新make,cd到下面的路徑,vim編輯Setup檔案:
cd ../../usr/lib/python/Python-3.6.4/Modules
vim Setup
把對應這個部分的改成下述這個樣子,然後esc,鍵入
:wq儲存。
然後一次執行下述命令(如果最後名利提示許可權不夠,可在make前加-H)
cd ..
sudo ./configure
sudo make
sudo make install
make完後,命令列鍵入python3,進入到python3 ide,import下ssl
沒報錯就說明安裝成功了!
小結
本節學習了編寫自己的模組,編寫刷訪問量指令碼,以及如何把自己的
指令碼丟到伺服器上以後臺程式的方式執行。
其實刷那麼多的訪問量又有什麼用,寫部落格的初衷就是分享和記錄
自己的學習歷程,不知何時開始,我們開始熱衷於追求所謂的閱讀量,
點贊數,評論數,然後各種標題黨,雞湯...現在大多數的人對於短平
快結果立竿見影的事情趨之若鶩,而對需要沉下心長時間積澱的事卻
避之而唯恐不及,這可能就是浮躁吧。
本節原始碼下載:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/854/viewspace-2804402/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 小豬的Python學習之旅 —— 9.爬蟲實戰:爬取花瓣網的小姐姐Python爬蟲
- 小豬的Python學習之旅 —— 2.爬蟲初涉Python爬蟲
- 小豬的Python學習之旅 —— 4.Scrapy爬蟲框架初體驗Python爬蟲框架
- 【爬蟲】利用Python爬蟲爬取小麥苗itpub部落格的所有文章的連線地址(1)爬蟲Python
- 小豬的Python學習之旅 —— 3.正規表示式Python
- 01、部落格爬蟲爬蟲
- [python 爬蟲]第一個Python爬蟲,爬取某個新浪部落格所有文章並儲存為doc文件Python爬蟲
- 小豬的Python學習之旅 —— 12.Python併發之queue模組Python
- Python爬蟲—爬取某網站圖片Python爬蟲網站
- 【Python學習】爬蟲爬蟲爬蟲爬蟲~Python爬蟲
- 《從零開始學習Python爬蟲:頂點小說全網爬取實戰》Python爬蟲
- 小豬的Python學習之旅 —— 1.基礎知識儲備Python
- Python爬蟲學習之旅-從基礎開始Python爬蟲
- python 爬蟲實戰的原理Python爬蟲
- python爬蟲爬取csdn部落格專家所有部落格內容Python爬蟲
- 分享5個爬蟲專業部落格網站爬蟲網站
- Python爬蟲,JS逆向之 webpack 打包站點原理與實戰Python爬蟲JSWeb
- 【爬蟲】利用Python爬蟲爬取小麥苗itpub部落格的所有文章的連線地址並寫入Excel中(2)爬蟲PythonExcel
- Python爬蟲入門學習實戰專案(一)Python爬蟲
- 小豬的Python學習之旅 —— 22.安靜!吵到我用TNT了Python
- 小豬的Python學習之旅 —— 10.三分鐘上手Requests庫Python
- 爬蟲實戰開發學習(一)爬蟲
- 小豬的Python學習之旅 —— 18.Python微信轉發小宇宙早報Python
- 送給Python小白學習爬蟲的小專案Python爬蟲
- Python 爬蟲實戰Python爬蟲
- Python網路爬蟲實戰小專案Python爬蟲
- Python3 大型網路爬蟲實戰 002 --- scrapy 爬蟲專案的建立及爬蟲的建立 --- 例項:爬取百度標題和CSDN部落格Python爬蟲
- Python爬蟲實戰系列1:部落格園cnblogs熱門新聞採集Python爬蟲
- 爬蟲——三個小實戰爬蟲
- Python學習筆記——爬蟲之Scrapy專案實戰Python筆記爬蟲
- 實戰:如何通過python requests庫寫一個抓取小網站圖片的小爬蟲Python網站爬蟲
- 小豬的Python學習之旅 —— 7.Python併發之threading模組(1)Pythonthread
- 小豬的Python學習之旅 —— 11.Python併發之threading模組(2)Pythonthread
- 小豬的Python學習之旅 —— 6.捋一捋Python執行緒概念Python執行緒
- python網路爬蟲實戰--重點整理Python爬蟲
- [雪峰磁針石部落格]python爬蟲cookbook1爬蟲入門Python爬蟲
- Python 基礎學習 網路小爬蟲Python爬蟲
- Python爬蟲實戰:爬取淘寶的商品資訊Python爬蟲