引言:
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:獲取部落格的所有連結
開啟:blog.csdn.net/coder_pig?v… 滑動到底部,可以發現有這個東西,要做的就是拿到每一頁的 url,然後處理頁面拿到所有的文章連結都存起來,然後隨手 點開第二頁,發現url變成: blog.csdn.net/zpj77987844… 所以我們只需拿到總共有多少頁就可以了,然後自行拼接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 沒報錯就說明安裝成功了!
小結
本節學習了編寫自己的模組,編寫刷訪問量指令碼,以及如何把自己的 指令碼丟到伺服器上以後臺程式的方式執行。
其實刷那麼多的訪問量又有什麼用,寫部落格的初衷就是分享和記錄 自己的學習歷程,不知何時開始,我們開始熱衷於追求所謂的閱讀量, 點贊數,評論數,然後各種標題黨,雞湯...現在大多數的人對於短平 快結果立竿見影的事情趨之若鶩,而對需要沉下心長時間積澱的事卻 避之而唯恐不及,這可能就是浮躁吧。
本節原始碼下載:
來啊,Py交易啊
想加群一起學習Py的可以加下,智障機器人小Pig,驗證資訊裡包含: Python,python,py,Py,加群,交易,屁眼 中的一個關鍵詞即可通過;
驗證通過後回覆 加群 即可獲得加群連結(不要把機器人玩壞了!!!)~~~ 歡迎各種像我一樣的Py初學者,Py大神加入,一起愉快地交流學♂習,van♂轉py。