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:导入需要的库备用

import selenium    #导入selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import random #导入随机数库,用于随机选取文章

2.2:打开我们需要增加访问量的CSND主页面

browser = webdriver.Chrome()   #打开模拟浏览器
login_url = "https://blog.csdn.net/L2542334210" #"L2542334210"是你的CSND的ID号,此处是例子,打不开的,请换你的主页链接!
browser.get(login_url)#打开CSND页面

2.3:寻找所有文章位置:此处有一难题,我们需要找到文章的标签所在处,对文章位置(如图中第一个红色框)右击鼠标进行"检索",发现如下图示:

Python--Selenium爬虫刷CSND访问量!我说怎么访问量这么高呢!

 

于是可知,该链接所在的标签位置就是我们需要找的,于是:

browser.find_elements_by_tag_name('h4') 
#这时候会返回你所有文章的不同位置,由于我们需要
#模拟浏览器随机点击这些文章,所以对h4返回的内容作随机选取
# ***该块代码块不需要,此处举例子而已***

将找到的所有文章位置对应放入在列表select中:

select=[]  #设置一个空列表
for i in range(len(browser.find_elements_by_tag_name('h4'))):
select.append(i) #将所有文章位置放入一个列表

2.4:随机选取一篇文章,进行"阅读":

browser.find_elements_by_tag_name('h4')[random.choice(select)].click() #random.choice随机选择一篇文章打开

2.5:跳转新窗口:由于此时打开两个窗口,selenium还纪录的是前一个窗口,所以必须跳转到当前新打开的窗口:

handles=browser.window_handles # 获取当前所有窗口
browser.switch_to.window(handles[1]) # 切换到新的窗口
time.sleep(5) #延迟5秒,让文章内容被读取刷新完整
browser.close() #关闭当前新窗口
#此时已经模拟人阅读文章完毕!返回刷新,发现自己访问量+1

2.6:跳转主页窗口:即使关闭掉新的窗口,由于之前selenium还纪录是的新的窗口,所以必须重新跳转到主页窗口才可以继续‘阅读’文章:

browser.switch_to.window(handles[0]) #返回博客主页面
#到此浏览量已经完成+1,只需要重复4-6步就可以增加访问量啦~
#此时只需要封装函数就可以刷访多次问量啦~

3、主函数的封装:

函数的封装:
######################################操作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_size:
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个浏览量

4、总结:

selenium爬虫固然好玩,但是缺点就是太耗时,它在每执行一步都需要等待网页前端渲染完成,才能操作,所以效率不是很高,但有时候是网络不好也是其中一大原因,如果不是涉及到点击才增加浏览量,个人建议使用request请求会高效许多,也大大节约了时间!

源码获取加群:850591259

猜你喜欢

转载自www.cnblogs.com/Py1233/p/12641816.html
今日推荐