title | tags | categories | index_img | date | comments | hide | ||
---|---|---|---|---|---|---|---|---|
CodeMao-AutoCommenter使用文档 |
|
Python |
/img/article/article_CodeMao_AutoCommer.jpg |
2023-11-06 04:00:00 -0800 |
true |
false |
{% note info %} 本文档更新于: 2024-01-25 凌晨 适用于Automatic-comments-v1.10版本 本项目仅用于技术学习交流 {% endnote %}
猫毡(雾)最强爬虫)
这个 Python 项目可以自动在编程猫网站上对作品进行点赞,评论以及回复,实现自动化模拟用户行为,以提高作品曝光率。✨
原作:
by 伴雪纷飞
现作者账号转移至 伴只狗头
参考:
感谢《A Byte of Python》(《简明Python教程》)Swaroop C H撰 漠伦译
为了讲解方便,文档中的{MAIN_FILEPATH}为您的爬虫所在目录,{FILEPATH}为结果记录文件所在目录
- 模拟登录
- 支持账号密码登录 🔐
- 支持直接 Cookie 登录 🍪
- 获取最新作品
- 从网站接口获取最新上传作品列表 🆕
- 获取最新回复
- 获取新的评论与回复以及点赞信息😉
- 自动点赞
- 调用接口对作品点赞 👍
- 统计点赞次数 🔢
- 自动评论
- 随机获取评论内容 💬
- 随机选择表情 😃
- 统计评论次数 📊
- 自动回复
- 多种回复模式📃
- 数据过滤
- 跳过已评论过的作品 ❌
- 跳过点赞数过多的作品 🙅♂️
- 结果记录
- 记录已评论过的作品,避免重复 🙅
- 支持自定义保存位置和文件名
- 随机间隔
- 每次操作后随机等待一定时间间隔 ⏳
- 配置文件
- 支持修改评论回复内容✍
- 侦测评论
- 侦测作品前300个评论,避免因为配置文件丢失而重复评论🎫
- 速度至上
- 1.10版本全面重写🔍
- 优秀的代码逻辑💎
- 生成文件内容优化🚀
- 如果您使用的是以
.exe
结尾的可执行文件版本,可省略配置python,安装所需库以及运行文件这几步
访问如下网址https://www.python.org/downloads/
选择合适的python版本(3.9及以上,建议为最新)
- tips: 不会安装可以去看这篇文章Python安装教程
- requests
beautifulsoup4
可以使用 pip 直接安装:
pip install requests
~~pip install beautifulsoup4~~
如果安装速度慢,可以先配置pip国内镜像源加速安装:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 永久设置
pip install example -i https://pypi.tuna.tsinghua.edu.cn/simple # 暂时设置
配置完成后,再使用pip安装库。
还有其他国内源,可以将https://pypi.tuna.tsinghua.edu.cn/simple
替换
使用Python自带的idle或其他IDE打开
按照指引运行
- tips: cookies具有时效性,配置文件并未保存,因此每次需要重新输入新的cookies
cookies获取教程(以edge浏览器为例)
-
访问如下网址
https://shequ.codemao.cn/
-
输入账号密码,确保您已经登录
-
按下
F12
键,(笔记本电脑为Fn
+F12
),打开浏览器开发者工具 -
转到网络一栏,点击记录网络日志按钮
-
刷新网页,在网络日志中找到
details
打开 -
在标头中的请求表头中找到
Cookie
一项,右键复制,粘贴到爬虫中
如果您已经运行过了一遍爬虫,爬虫将会生成三个文件:
- Automatic-comments-v1.x.x.py 主程序文件 💻 位于{MAIN_FILEPATH}
- config.json 信息配置文件 📄 位于{MAIN_FILEPATH}
- example.txt 结果记录文件 📄 位于{FILEPATH}
请打开{MAIN_FILEPATH}中的config.json
如若您看到是的仅一行代码,请访问https://www.bejson.com/explore/index_new/
或其他json格式化网站,将文件内容全部复制并格式化后覆盖掉原文本
现在,您看到的在该文件中,有两个大的字典:
Account
Data
Account
存储的是您的账号信息,不可轻易更改
Data
存储的是爬虫的输出数据:
proxies_list
存储了代理服务器地址,该功能还未正式投入使用UNDO_LIST
存储了跳过的训练师编号,如若您想让爬虫跳过评论某人的作品,可以在此更改comments
存储了发送的评论列表,爬虫会随机选取一个进行发送,您可以在此更改评论内容emojis
存储了发送的表情列表,不可轻易更改answers
存储了发送的回复列表,爬虫会随机选取一个进行发送,您可以在此更改回复内容
如若您想让爬虫文件经过编译成为可执行文件
可使用如下库
- Nuitka
- Pyinstaller
现仅对Nuitka进行教学(Windows系统)
pip install nuitka
在{MAIN_FILEPATH}目录,Shift+右键,在菜单中选择命令窗口并打开
也可以这样: win徽标键+r打开运行,输入cmd,在cmd中输入{MAIN_FILEPATH}目录所在盘符+半角冒号(例如E:
),之后输入
cd {MAIN_FILEPATH}
在cmd中输入
nuitka --standalone --plugin-enable=upx --show-progress --remove-output --windows-icon-from-ico=my.ico --output-dir=out Automatic-comments-v1.10.0.py
等待运行完成,即可在{MAIN_FILEPATH}下的out目录使用可执行文件版
Account = {
"phonenum": " ", "password": " ", "filepath": " ",
"userid": " ", "nickname": " ",
}
CONFIG_FILE_PATH = path.join(getcwd(), "config.json")
HEADERS = {...}
🔑 初始化账户信息,包括电话号码、密码、文件路径、用户ID和昵称。还定义了配置文件的路径和HTTP请求头。
class Pre_Data:
def __init__(self):
self.proxies_list = [{"http": "http://114.114.114.114:2333"}]
self.contents = ["666#°Д°", "加油!:O", ...]
self.emojis = ["编程猫_666", "编程猫_棒", ...]
self.answers = ["这是{}的自动回复...", "{}的自动回复来喽", ...]
📌 存储了预设的代理列表、评论内容、表情和自动回复模板。这些数据用于构建社区互动。
class Data:
def __init__(self):
self.proxies_list = ([" "],)
self.UNDO_LIST = [""]
self.contents = ([" "],)
self.emojis = ([" "],)
self.answers = [" "]
📊 此类用于实际运行时存储和更新数据,如代理列表、评论内容等。
def send_request(url, method, data=None, headers=HEADERS, direct=None):
...
🌐 此函数负责向指定的URL发送GET或POST请求。它还处理代理选择和异常情况。
def has_config_file():
...
📁 检查配置文件是否存在,以确定是否需要加载或创建新的配置。
def save_account(path):
...
def load_account():
...
💾 这两个函数用于在配置文件中保存和加载账户信息及预设数据。
def input_account():
...
👤 提供交互式界面以输入账户信息,如电话号码和密码。
def login():
...
🔐 处理用户登录逻辑,包括从网页解析所需的PID、发送登录请求、处理登录响应和更新账户信息。
def checkcomments(work_id, special_id):
...
🔍 此函数用于检查特定作品的评论是否已存在。它通过发送请求到编程猫社区API,获取特定作品的评论数据,并遍历这些评论以检查是否包含特定用户ID的评论。
def write(text, name):
...
✍️ 用于将文本内容写入指定的文件。这主要用于记录已经进行过互动的作品ID,以避免重复互动。
def sort_numbers_in_file(input_file_path):
...
🔢 用于对文件中的数字进行排序。这通常用于优化生成的文件内容,例如将作品ID按照数值顺序排列。
def like_work(cookie, work_id):
...
👍 对指定作品进行点赞。该函数发送POST请求到编程猫社区API,完成点赞操作,并处理响应以确认操作是否成功。
def comment_work(cookie, work_id):
...
💬 对指定作品进行评论。它随机选择预设的评论内容和表情,然后发送POST请求进行评论。
def reply_work():
...
🔄 处理接收到的回复消息。该函数首先检查是否有新的回复消息,然后根据消息类型(如评论回复或作品回复)发送适当的回复内容。
def main():
...
🚀 定义了脚本的主要运行逻辑。它包括登录逻辑、用户交互以选择操作模式(如仅点赞、仅评论等),并循环执行所选操作。
这个项目主要运用了 requests、BeautifulSoup 等库模拟登录并解析页面,通过调用官方 API 实现自动化点赞和评论。✨
程序加入了一定的过滤机制,间隔设置以及代理来规避风控。🛡️
可以作为 Python 网络爬虫和接口调用的练手项目,与此同时需要注意合理使用,遵守网站规则。❗️
如果有任何问题欢迎反馈,本项目仅用于技术学习交流。💬
- GitHub访问加速
- GitHub下载加速
- 123云盘 提取码:ygyc
- 蓝奏云网盘 密码:ygyc
- 解压密码:zybqw
如果您对此项目有任何问题或建议,欢迎随时联系我。😊
- 博客: zybqw.github.io
- 邮箱: zybqw@qq.com 📧
- 猫站主页: https://shequ.codemao.cn/user/12770114 🌐
- QQ: 3611198191
- 微信: Aurorzex