利用Python简单的模拟登陆气象家园BBS,提供一种比较容易理解的思路,用于自动签到和访问空间,获取积分。目的不在于鼓励大家不劳而获,而从论坛只拿好处不谈贡献。主要还是简单实践一下,利用已有的工具去做点好玩的事情,解决自己的小麻烦,人非圣贤,也不是机器,毕竟每天签到也还是偶尔会中断的。
需要的工具
- Python3.6+ selenium ; ChromeDriver(版本需要匹配,下载链接)
- Shell 环境支持 crontab 命令
Python代码(下载:discuz_click.py)
1 | # ====================================================================== |
selenium可以通过以下各个方法获取元素并进行各种操作,主要有以下几种:
- find_element_by_id
- find_element_by_name
- find_element_by_xpath
- find_element_by_link_text
- find_element_by_partial_link_text
- find_element_by_tag_name
- find_element_by_class_name
- find_element_by_css_selector
选取firefox来查看元素会更加直观!!!(强烈推荐,也同样有适用于firefox的驱动,geckodriver,在Mac下需要移动到/usr/local/bin目录下,或者,自定义,也OK!)
搭配 crontab 使用
创建sh脚本:click.sh
先找到python:
which python
/Users/zhpfu/anaconda3/bin/python
1 | /Users/zhpfu/anaconda3/bin/python /Users/zhpfu/Downloads/Discuz/discuz_click.py |
修改sh脚本权限:chmod 777 click.sh
设置自动执行命令:
$
crontab e
输入:(每隔10小时运行一次)
* 10 * * * /bin/sh /Users/zhpfu/Downloads/Discuz/click.sh
# 需要根据自己的路径来修改。
结尾
方法比较简单,还不够静默,必须要打开浏览器才行。后面再改进吧!
参考:
有任何问题都欢迎交流探讨,共同学习进步!