Python番外篇:使用selenium给CSDN博文自动点赞

大家好,我是wanzirui32,今天我们来学习如何使用selenium给CSDN博文点赞,这也是我的第40篇博文,还请大家多多支持哦!

1. 登录

CSDN登录在上一篇文章就已经介绍过,不知道的可以去看看哦!

2.点赞

2.1 分析

这里拿我的一篇文章分析:
点赞分析
根据上面的分析,我们可以写一段代码。

2.2 编写代码

代码:(不懂的看注释)

from selenium.webdriver import Firefox
from time import sleep

def csdn_login(driver, username, password):
	# 此处省略登录函数 可以去上一篇复制过来

# 需要点赞的文章
url = 'https://blog.csdn.net/wangzirui32/article/details/113815878'

# 把executable_path设置为你电脑内浏览器驱动的位置目录
driver = Firefox(executable_path="geckodriver.exe")
csdn_login(driver, "你的用户名", "你的密码")
# 等待3秒是为了等待CSDN上传登录数据
sleep(3)
# 请求文章页面
driver.get(url)

# 获取id为is-like的li标签
# 点赞链接的所在处
li = driver.find_element_by_xpath("//li[@id='is-like']")
# 找到a标签
a = li.find_element_by_tag_name("a")
# 获取id为is-like-span的标签 可以根据标签内容用来判断是否已经点赞
span = a.find_element_by_id("is-like-span")

# 如果它的内容为“已赞”
if span.text == "已赞":
    print("此文章已经点赞!")
else:
	# 点击a标签
	a.click()
    print("点赞操作完成!")

# 关闭窗体
driver.close()

这里说明一点,之所以不直接查找a标签,是因为它没有任何属性,不太好查找,所以只好把查找范围缩小到li标签。

写在最后

这个程序实际还可以改进,比如设置在代码里一个for循环,遍历一个列表,列表里存储许多文章的url,就实现给多个博文点赞的功能了(Tips:你可以在CSDN排行榜上爬取文章网址)


今天的课程就到这里了,感兴趣的可以点赞收藏,拜拜!

猜你喜欢

转载自blog.csdn.net/wangzirui32/article/details/113846674