Python--Selenium爬蟲刷CSND訪問量!我說怎麼訪問量這麼高呢!

前言:

Python真的是厲害,但是你知道麼?Python+Selenium可以讓你在編程過程中更加有趣…

有一個技術咖網站叫做CSND,大家都知道如果想提高自己的排名那麼你需要有訪問量,那就意味著得有很多人來觀看你的文章,訪問量從何而來???

請君放心,你擔心的問題由Jetuser為你解決,自己那麼今天教大家如何利用Selenium加上強大的Python來增加CSND訪問量!當然了,在此之前你必須安裝好Chrome+Python(Anaconda3)+Selenium若沒有裝的Selenium小夥伴請看:

安裝哪些事兒----朱哥教你正確安裝Selenium:https://blog.csdn.net/L1542334210/article/details/101394359


1、增加訪問量的原理

在CSND中,當我們點擊任意一篇文章閱讀後,再退出,然後刷新頁面,就會增加一次訪問量,但是對同一篇文章不能連續點擊多次,所以我們需要隨機選擇你的文章以保證訪問量可不停增加。我們就是利用selenium 控制模擬瀏覽器,寫入循環多次隨機點擊文章–退出–再隨機點擊文章–再退出…如此重複不斷達到增加訪問量的目的(注意:刷該訪問量一次不宜過多,以免被系統檢查到!博主還沒有被封號喲~~趕緊溜,反爬蟲的人來了!

)。

2、代碼解析與過程部分:

話不多說,直接上代碼:

2.1:導入需要的庫備用

<code>import selenium    #導入selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import random #導入隨機數庫,用於隨機選取文章/<code>

2.2:打開我們需要增加訪問量的CSND主頁面

<code>browser = webdriver.Chrome()   #打開模擬瀏覽器
login_url = "https://blog.csdn.net/L2542334210" #"L2542334210"是你的CSND的ID號,此處是例子,打不開的,請換你的主頁鏈接!
browser.get(login_url)#打開CSND頁面/<code>


2.3:尋找所有文章位置:此處有一難題,我們需要找到文章的標籤所在處,對文章位置(如圖中第一個紅色框)右擊鼠標進行"檢索",發現如下圖示:

Python--Selenium爬蟲刷CSND訪問量!我說怎麼訪問量這麼高呢!

於是可知,該鏈接所在的標籤位置就是我們需要找的,於是:

<code>browser.find_elements_by_tag_name('h4') 
#這時候會返回你所有文章的不同位置,由於我們需要
#模擬瀏覽器隨機點擊這些文章,所以對h4返回的內容作隨機選取
# ***該塊代碼塊不需要,此處舉例子而已***/<code>

將找到的所有文章位置對應放入在列表select中:

<code>select=[]  #設置一個空列表
for i in range(len(browser.find_elements_by_tag_name('h4'))):
select.append(i) #將所有文章位置放入一個列表/<code>

2.4:隨機選取一篇文章,進行"閱讀":

<code>browser.find_elements_by_tag_name('h4')[random.choice(select)].click() #random.choice隨機選擇一篇文章打開/<code>

2.5:跳轉新窗口:由於此時打開兩個窗口,selenium還紀錄的是前一個窗口,所以必須跳轉到當前新打開的窗口:

<code>handles=browser.window_handles # 獲取當前所有窗口
browser.switch_to.window(handles[1]) # 切換到新的窗口
time.sleep(5) #延遲5秒,讓文章內容被讀取刷新完整
browser.close() #關閉當前新窗口
#此時已經模擬人閱讀文章完畢!返回刷新,發現自己訪問量+1/<code>

2.6:跳轉主頁窗口:即使關閉掉新的窗口,由於之前selenium還紀錄是的新的窗口,所以必須重新跳轉到主頁窗口才可以繼續‘閱讀’文章:

<code>browser.switch_to.window(handles[0]) #返回博客主頁面
#到此瀏覽量已經完成+1,只需要重複4-6步就可以增加訪問量啦~
#此時只需要封裝函數就可以刷訪多次問量啦~/<code>

3、主函數的封裝:

函數的封裝:
<code>######################################操作CSND博客,增加訪問量
def ADD_CSND_Browse_volume(ID,Browse_size):
'''該函數用於增加CSND瀏覽量!參數說明:
ID:你的CSND的ID號:--字符型--
Browse_size:想要增加多少瀏覽量:--int--
'''
from selenium import webdriver #導入庫
from selenium.webdriver.common.by import By
import time
import random
time.sleep(3) #延遲3秒
browser = webdriver.Chrome()
time.sleep(6) #延遲3秒
login_url = "https://blog.csdn.net/"+ID
browser.get(login_url)#打開網頁
time.sleep(3) #延遲3秒
select=[]
for i in range(len(browser.find_elements_by_tag_name('h4'))):
select.append(i)

i=0
while i<browse> browser.find_elements_by_tag_name('h4')[random.choice(select)].click() #定位到第幾篇文章
time.sleep(8) #延遲8秒
handles=browser.window_handles # 獲取當前所有窗口
browser.switch_to.window(handles[1]) # 切換窗口
time.sleep(5) #延遲5秒
browser.close() #關閉當前窗口
time.sleep(6) #延遲6秒
i=i+1
browser.close() #關閉舊窗口,當次數完成後自動關閉瀏覽器
#函數調用
ADD_CSND_Browse_volume('L2542334210',3) #此處是例子 刷3個瀏覽量/<browse>/<code>

4、總結:

selenium爬蟲固然好玩,但是缺點就是太耗時,它在每執行一步都需要等待網頁前端渲染完成,才能操作,所以效率不是很高,但有時候是網絡不好也是其中一大原因,如果不是涉及到點擊才增加瀏覽量,個人建議使用request請求會高效許多,也大大節約了時間!


分享到:


相關文章: