大家好,我是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排行榜上爬取文章网址)
今天的课程就到这里了,感兴趣的可以点赞收藏,拜拜!