pythonselenium提高爬虫效率_Python--Selenium爬虫刷CSND访问量!我说怎么访问量这么高呢!...

前言:

Python真的是厉害,但是你知道么?Python+Selenium可以让你在编程过程中更加有趣…

有一个技术咖网站叫做CSND,大家都知道如果想提高自己的排名那么你需要有访问量,那就意味着得有很多人来观看你的文章,访问量从何而来???

请君放心,你担心的问题由Jetuser为你解决,自己那么今天教大家如何利用Selenium加上强大的Python来增加CSND访问量!当然了,在此之前你必须安装好Chrome+Python(Anaconda3)+Selenium若没有装的Selenium小伙伴请看:

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

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

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

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请求会高效许多,也大大节约了时间!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值