广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现百度贴吧自动顶贴机
  • 125
分享到

Python实现百度贴吧自动顶贴机

贴吧Python顶贴机 2023-01-31 00:01:53 125人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

开发这款小工具,我们需要做一些准备: url.txt:多个需要顶起的帖子地址。 reply:多条随机回复的内容。 selenium:浏览器自动化测试框架 首先,我们先使用pip完成selenium的安装。 示例代码: pip inst

开发这款小工具,我们需要做一些准备:

首先,我们先使用pip完成selenium的安装。

示例代码:

pip install -U selenium

接下来,我们添加对浏览器的支持,这里使用火狐浏览器。

对应windows环境下的火狐浏览器,我们需要下载一个小程序:geckodriver.exe

下载地址:Http://download.csdn.net/download/xingbb99/10245371

把下载下来的压缩包解压缩,将exe文件直接放在项目文件夹中。

这里需要注意,如果火狐浏览器不是默认安装的话,需要将浏览器的安装路径添加到系统环境变量的Path中。

完成以上准备,我们就可以进行编程了。

一、导入必需的模块

示例代码:

'''
想要学习pythonPython学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载!
'''
from selenium import WEBdriver  # 导入网页内驱动模块
from selenium.webdriver.common.keys import Keys  # 导入按键类
from selenium.webdriver.common.action_chains import ActionChains  # 导入动作类
from random import choice
from time import sleep
import re

二、创建浏览器测试对象

示例代码:

profile = webdriver.FirefoxProfile(r'C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\nczl01ld.default')
browser = webdriver.Firefox(profile, timeout=300)  # 使用profile可以实现自动登录

三、定义将Cookie添加到测试对象的函数

Cookie的获取可以在火狐浏览器中打开贴吧地址后,按F12或右键菜单中选择【查看元素】,在打开的开发工具界面中,选择网络(NetWork),点开右侧收起的消息栏,点选【Cookie】复制其中的内容。

将Cookie内容存入变量,通过正则表达式获取字段并转换为字典后,添加到浏览器测试对象中。

示例代码:

def cookie():
    cookies = '''
            BAIDUID = 012CCF2FAA983F21333F959FB4B2F4CF:FG=1;
            BDORZ = FFFB88E999055A3F86630C64834BD6D0;
            BDUSS = 9NcENVYWowcThKY3VUblVIZ3g...太长了此处省略一部分...S01U2AAABvKe1obyntaaG;
            BIDUPSID = 23A4C6D0C2851099D66FBFDBA99EDF3B;
            FP_UID = 0d8be11adc641cb5501f1e68270d8bea;
            H_PS_PSSID = 1457_21116_22072;
            MCITY = -131:;
            PSINO = 1;
            PSTM = 1506587758;
    '''
    cookiesList = re.findall(r'([\S\s]*?)=([\S\s]*?);', cookies)
    for cookie in cookiesList:
        ck = {'name': cookie[0].strip(), 'value': cookie[1].strip()}
        browser.add_cookie(ck)  # 添加cookie到浏览器测试对象
四、定义随机获取评论内容的函数

示例代码:

def get_content():
    file = open('reply.txt', encoding='utf-8').readlines()  # 读取所有评论
    return choice(file).strip()  # 随机获取一行评论并返回

五、定义写入评论并提交的函数

示例代码:

def reply():
    content = get_content()  # 获取评论内容
    js = "document.getElementById('ueditor_replace').innerhtml='%s'" % content  # 编写js脚本
    browser.execute_script(js)  # 执行js脚本
    browser.find_element_by_CSS_selector('.poster_submit').click()  # 点击发表按钮

六、定义主程序函数

def main():
    count = 0
    for url in open('url.txt', encoding='utf-8').readlines():  # 逐行读取url文件
        count += 1
        if count >= 5:  # 从url文件中的第5个地址开始回复
            browser.get(url)  # 打开地址
            sleep(10)  # 避免回复过快,地址打开后等待10秒钟。
            cookie()  # 添加cookie
            browser.execute_script("window.scrollTo(0,document.body.scrollHeight)")  # 滚动到页面底部
            reply()  # 写入回复内容并提交
            sleep(5)  # 等待完成提交
            ActionChains(browser).key_down(Keys.CONTROL).send_keys("w").key_up(Keys.CONTROL).perfORM()  # 关闭网页

 

完成以上代码之后,我们运行主程序,就能够自动回复了。

注意:请申请小号进行测试,以免封号。

示例代码:

if __name__ == '__main__':
    main()

完整代码

from selenium import webdriver  # 导入网页内驱动模块
from selenium.webdriver.common.keys import Keys  # 导入按键类
from selenium.webdriver.common.action_chains import ActionChains  # 导入动作类
from random import choice
from time import sleep
import re
'''
想要学习Python?Python学习交流群:984632579满足你的需求,资料都已经上传群文件,可以自行下载!
'''
profile = webdriver.FirefoxProfile(r'C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\nczl01ld.default')
browser = webdriver.Firefox(profile, timeout=300)  # 使用profile可以实现自动登录


def cookie():
    cookies = '''
            BAIDUID = 012CCF2FAA983F21333F959FB4B2F4CF:FG=1;
            BDORZ = FFFB88E999055A3F86630C64834BD6D0;
            BDUSS = 9NcENVYWowcThKY3VUblVIZ3g...太长了此处省略一部分...S01U2AAABvKe1obyntaaG;
            BIDUPSID = 23A4C6D0C2851099D66FBFDBA99EDF3B;
            FP_UID = 0d8be11adc641cb5501f1e68270d8bea;
            H_PS_PSSID = 1457_21116_22072;
            MCITY = -131:;
            PSINO = 1;
            PSTM = 1506587758;
    '''
    cookiesList = re.findall(r'([\S\s]*?)=([\S\s]*?);', cookies)
    for cookie in cookiesList:
        ck = {'name': cookie[0].strip(), 'value': cookie[1].strip()}
        browser.add_cookie(ck)  # 添加cookie到浏览器测试对象


def get_content():
    file = open('reply.txt', encoding='utf-8').readlines()  # 读取所有评论
    return choice(file).strip()  # 随机获取一行评论并返回


def reply():
    content = get_content()  # 获取评论内容
    js = "document.getElementById('ueditor_replace').innerHTML='%s'" % content  # 编写js脚本
    browser.execute_script(js)  # 执行js脚本
    browser.find_element_by_css_selector('.poster_submit').click()  # 点击发表按钮


def main():
    count = 0
    for url in open('url.txt', encoding='utf-8').readlines():  # 逐行读取url文件
        count += 1
        if count >= 5:  # 从url文件中的第5个地址开始回复
            browser.get(url)  # 打开地址
            sleep(10)  # 避免回复过快,地址打开后等待10秒钟。
            cookie()  # 添加cookie
            browser.execute_script("window.scrollTo(0,document.body.scrollHeight)")  # 滚动到页面底部
            reply()  # 写入回复内容并提交
            sleep(5)  # 等待完成提交
            ActionChains(browser).key_down(Keys.CONTROL).send_keys("w").key_up(Keys.CONTROL).perform()  # 关闭网页


if __name__ == '__main__':
    main()

 

--结束END--

本文标题: Python实现百度贴吧自动顶贴机

本文链接: https://www.lsjlt.com/news/181530.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python实现百度贴吧自动顶贴机
    开发这款小工具,我们需要做一些准备: url.txt:多个需要顶起的帖子地址。 reply:多条随机回复的内容。 selenium:浏览器自动化测试框架 首先,我们先使用pip完成selenium的安装。 示例代码: pip inst...
    99+
    2023-01-31
    贴吧 Python 顶贴机
  • CSS3如何实现打造百度贴吧的3D翻牌效果
    这篇文章主要介绍CSS3如何实现打造百度贴吧的3D翻牌效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果图:实例用到的一些CSS3的新属性:a、-webkit-perspecti...
    99+
    2022-10-19
  • VBS如何实现百度贴吧代码格式化调整工具
    这篇文章将为大家详细讲解有关VBS如何实现百度贴吧代码格式化调整工具,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。百度老是把吃掉行首空格,导致代码没有缩进。可以用以下方法来解决: 1、在百度贴吧切换到经典...
    99+
    2023-06-08
  • 如何使用Python编写多线程爬虫抓取百度贴吧邮箱与手机号
    本篇文章给大家分享的是有关如何使用Python编写多线程爬虫抓取百度贴吧邮箱与手机号,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。不知道大家过年都是怎么过的,反正栏主是在家睡了...
    99+
    2023-06-17
  • 如何用浏览器扩展程序来添加CSS样式实现百度贴吧清爽界面
    这篇文章主要讲解了“如何用浏览器扩展程序来添加CSS样式实现百度贴吧清爽界面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用浏览器扩展程序来添加CSS样...
    99+
    2022-10-19
  • Python如何实现查询剪贴板自动匹配信息
    这篇文章主要介绍“Python如何实现查询剪贴板自动匹配信息”,在日常操作中,相信很多人在Python如何实现查询剪贴板自动匹配信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python如何实现查询剪贴板...
    99+
    2023-06-20
  • python实现百度文库自动化爬取
    目录项目介绍已有功能环境安装Windows用看这里ubuntu用户看这里使用方式:主要代码项目地址项目介绍 可以下载doc,ppt,pdf.对于doc文档可以下载,doc中的表格无法...
    99+
    2022-11-12
  • CSS如何实现内容高度不够的时候底部(footer)自动贴底
    这篇“CSS如何实现内容高度不够的时候底部(footer)自动贴底”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“CSS如何实现内容高度不够的时候底部(footer)自动贴底”,给大家总结了以下内容,具有一定借鉴价值,内容详细...
    99+
    2023-06-08
  • Python实现查询剪贴板自动匹配信息的思路详解
    不想每次都要去查execl,想更方便点,更快一点。 通俗点思路:点击exe,Python 自动监控剪贴板的内容,然后正则取出IP,接着根据IP对比业务文档,获取相应的信息,然后把查...
    99+
    2022-11-12
  • Python实现自动上传文件到百度网盘
    目录1.准备2.授权bypy访问百度网盘3.开始使用bypy4.文件上传功能5.文件同步功能要使用Python自动上传文件到百度网盘,你可以使用bypy开源模块,它提供了丰富的功能,...
    99+
    2023-05-17
    Python上传文件到百度网盘 Python上传文件到网盘 Python上传文件
  • Python使用Selenium自动进行百度搜索的实现
    目录安装 Selenium写代码点位网页元素我们今天介绍一个非常适合新手的python自动化小项目,项目虽小,但是五脏俱全。它是一个自动化操作网页浏览器的小应用:打开浏览器,进入百度网页,搜索关键词,最后把搜索结果保...
    99+
    2022-06-02
    Python Selenium自动百度搜索 Python Selenium自动搜索
  • 【uniapp开发小程序】实现粘贴一段文字后,自动识别到姓名/手机号/收货地址
    需求 在uni-app中开发小程序,实现粘贴一段文字后自动识别到手机号,并将手机号前面的内容作为姓名,手机号后面的内容作为收货地址,并去除其中的特殊字符和前缀标识。 一、实现效果: 二、实现方式:...
    99+
    2023-09-03
    uni-app 小程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作