Python+selenium实现博客自动评论

Posted _less is more

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python+selenium实现博客自动评论相关的知识,希望对你有一定的参考价值。

前言

之前总是在自己博客评论区看到诸如这写的什么啊你这样的人我不想多说什么,直接一键三连等我水平够了再回来看,留下🐂×二字,没看完我以为我写得太烂要被打了。。。看完又有种自己被欣赏了的奇异感觉。。。

猜测这样的评论肯定不是人工手敲的,应该是脚本自动化在评论。于是我灵光一现,打算自己实现一个!当然不是为了偷懒…而是让别人也多多感受下被欣赏的感觉_

准备妙语

参考了一些博客后,发现并摘抄了如下术语,大家赶紧学学!(可以收藏起来慢慢学~)

由浅入深,适合有基础的技术人员。大佬可否给小弟回个赞感谢万分
作者辛苦了,学习的道路上一起进步。期待大佬的回访和关注~
创作不易,给你打气,继续创作优质好文!
学习了,感谢您的分享,让我受益良多!
给大佬递茶,最近也在学习相关知识,希望得到大佬的肯定和支持!
看完大佬的文章,我的心情竟是久久不能平静。正如老子所云:大音希声,大象无形。我现在终于明白我缺乏的是什么了。
赞啊,写得真棒,一篇佳作,期待您的回复与关注!
忍不住就是一个赞,写得很棒,欢迎回赞哦~
都是博主辛苦创作,我来支持一下,奥利给!
学会了,感谢大佬分享,继续努力!
我真是服了,像你这种人就是欠赞和关注,哼~
君之妙笔,令鄙不及,佩服佩服,如若能给小弟回个赞,必将感激涕尽!
哇,好棒啊,崇拜的小眼神,欢迎回赞,回评哦~
你好,我是警察,你因为太有才华被逮捕了,去我的博客瞅瞅才能释放你~
代码之路任重道远,愿跟博主努力习之。
666,反手就是一个赞,欢迎回赞哦~
写得好,很nice,欢迎一起交流!
果然是大佬,就是和我们这种普通开发不一样!
满满的干货,我嗅到了知识的芬芳~

python库准备

PackageVersion
selenium3.141.0
random内置
time内置

开始编码

实现登录

在实现的过程中,本来想利用requests来进行登录,但发现无论如何登不上。。。因为没法破解payload,其实再研究研究或许也能有进展,但可能需要更多时间。终究是道行用时方觉浅,于是只好用selenium来实现自动化登录。代码如下

driver = Chrome()
driver.maximize_window()

driver.get(url='https://passport.csdn.net/login?code=public')
time.sleep(2)

# 找到账号密码登录并点击
login_button = driver.find_element_by_css_selector('#app > div > div > div.main > div.main-login > div.main-select > ul > li:nth-child(2) > a')
login_button.click()

# 账号密码输入框并且输入账号密码
all_input = driver.find_element_by_id('all') # 账号输入元素
paw_input = driver.find_element_by_id('password-number') # 密码输入元素
all_input.send_keys('你的账号')
paw_input.send_keys('你的密码')

# 获取登录按钮点击登录
login_btn = driver.find_element_by_css_selector('#app > div > div > div.main > div.main-login > div.main-process-login > div > div:nth-child(6) > div > button')
login_btn.click()
time.sleep(3)

if 'login' not in driver.current_url:
    print('登录成功')

效果如下(都是自动完成的)
在这里插入图片描述

自动评论

如下代码进行跳转到需要评论的博客的url,并完成评论,根据自己的需求进行改动

comments = {
    '由浅入深,适合有基础的技术人员。大佬可否给小弟回个赞感谢万分',
    '作者辛苦了,学习的道路上一起进步。期待大佬的回访和关注~',
    '创作不易,给你打气,继续创作优质好文!',
    '学习了,感谢您的分享,让我受益良多!',
    '给大佬递茶,最近也在学习相关知识,希望得到大佬的肯定和支持!',
    '看完大佬的文章,我的心情竟是久久不能平静。正如老子所云:大音希声,大象无形。我现在终于明白我缺乏的是什么了。',
    '赞啊,写得真棒,一篇佳作,期待您的回复与关注!',
    '忍不住就是一个赞,写得很棒,欢迎回赞哦~',
    '都是博主辛苦创作,我来支持一下,奥利给!',
    '学会了,感谢大佬分享,继续努力!',
    '我真是服了,像你这种人就是欠赞和关注,哼~',
    '君之妙笔,令鄙不及,佩服佩服,如若能给小弟回个赞,必将感激涕尽!',
    '哇,好棒啊,崇拜的小眼神,欢迎回赞,回评哦~',
    '你好,我是警察,你因为太有才华被逮捕了,去我的博客瞅瞅才能释放你~',
    '代码之路任重道远,愿跟博主努力习之。',
    '666,反手就是一个赞,欢迎回赞哦~',
    '写得好,很nice,欢迎一起交流!',
    '果然是大佬,就是和我们这种普通开发不一样!',
    '满满的干货,我嗅到了知识的芬芳~'
}
# 自行修改其中的username和filename,例子:
# https://blog.csdn.net/weixin_42815846/article/details/117230144
driver.get('https://blog.csdn.net/{username}/article/details/{filename}')
time.sleep(2)

commentArea = driver.find_element_by_id('comment_content')
commentArea.send_keys(random.choice(comments)) # 评论的话,可自行修改(不要乱评论!),也可以使用前面准备的妙语。。
time.sleep(2)

commentButton = driver.find_element_by_css_selector('#rightBox > a > input')
commentButton.click()

效果如下
在这里插入图片描述

结语

由于使用了selenium,因此需要chromedriver.exe文件,完整源码和文件见 GitHub仓库

以上是关于Python+selenium实现博客自动评论的主要内容,如果未能解决你的问题,请参考以下文章

一行代码实现 Python+selenium 批量截取网页,重要代码仅一行

Selenium实现微博自动化运营:关注点赞评论

Python爬虫入门教程 54-100 博客园等博客网站自动评论器

python自动化框架:pywinauto实现博客之星自动化评论

python自动化框架:pywinauto实现博客之星自动化评论

python自动化框架:pywinauto实现博客之星自动化评论