【實驗】程式反覆請求自己的CSDN部落格,增加排名,可行麼?
【實驗課】程式反覆請求自己的CSDN部落格,增加排名,可行麼?
實驗課以鑽研,探索,獲取為主旨。文中所有內容,不得用作商業用途。如果本課內容侵犯到了您的合法權益,請聯絡我,我會在第一時間予以答覆。
——計算機是把劍,你得用一下這把劍,才知道他有多銳利。
準備
CSDN有個排名,計算所有文章訪問量之總和,然後以此排名。
有趣的是,首先作者自己閱讀也會增加自己的訪問量。如下。
同樣的,總訪問量也會因此而增加。(從9302到9303了。)
重新整理後,文章閱讀數又增加了。(總訪問量同理)
CSDN這樣設定也是有道理。
1.畢竟一個人的確可能重複看一個文章多次;
2.作者也是人;
3.寫這些功能太複雜了。
邪惡的想法
既然CSDN這麼弱小可憐又無助,那麼不如我們…
先用爬蟲爬一百次我的二十四點那個部落格試一試?
看著螢幕上一群200的藍色狀態碼爭先恐後的輸出。我的內心無比舒暢。
開啟部落格一看。
閱讀數從315->319,沒有什麼顯然地的變化。看來CSDN的程式設計師也不是傻子看來只要短時間內超過一定限度,不像人為瀏覽了,CSDN就會停止計數。
進而,我嘗試了一下在瀏覽器多重新整理幾次頁面,果然這樣下計數器也不會再增長了。
那看來用python程式,即便偽裝成瀏覽器訪問也是沒用的。試了一下,果然是這樣的。
**接著,我冷靜的等了五分鐘,又重新用瀏覽器重新整理了一波,發現,閱讀數又增加了。**一些結論在我心中逐漸成型。
初步結論
我們可以必要但不充分的得出如下結論:
1.第一次訪問總是可以成功的。(以增加閱讀數為基準)
2.過一段時間後再次訪問,也可成功。
3.機器刷和瀏覽器刷沒有人任何區別。
那麼,我們完全可以寫一個指令碼出來,挨個訪問一個使用者下的每個頁面,不是麼?
程式碼
說幹就幹。下面這段程式碼,每隔100s隨機訪問你的部落格中的文章的一個。你需要將使用者名稱改成自己的。(之後課考慮把這段程式碼改成可執行檔案)
import requests
from bs4 import BeautifulSoup
import random
import time
#1.提取首頁,獲取文章列表
#2.依次訪問文章列表
def GetList(url,user_name):
kv = {'user-agent':'Mozilla/5.0'}
r = requests.get(url,headers=kv)
r.encoding = r.apparent_encoding
print(r.text)
soup = BeautifulSoup(r.text,'html.parser')
AList=[]
for ele in soup.find_all('a'):
try:
#match= re.match(user_name,ele['href'])
#if match:
#print(ele.text)
list = ele['href'].split('/')
if user_name in list:
if 'details' in list:
AList.append(ele['href'])
except:
continue
return AList
def VisitRandom(list):
n=0
while True:
#每隔一百秒隨機挑一個位置訪問
kv = {'user-agent':'Mozilla/5.0'}
url= list[int(len(list)*random.random())]
r = requests.get(url,headers=kv)
n=n+1
print(n)
time.sleep(100)
pass
index='https://blog.csdn.net/'
user_name = r'qq_40938169' #請在這兒修改你的使用者名稱
url = index + user_name
list=[]
list = GetList(url,user_name)
VisitRandom(list)
成果
將上段程式碼掛上我一天二十四小時工作的伺服器上。
我現在的部落格訪問量是:9023
請記住這個數字,一段時間後,讓我們再來看看這個數字吧。
參考文章:快速提高CSDN訪問量