python可以完成这种自动化的工作吗?

  • J
    Jennety
    自动登陆B/S模式的系统处理一些事物。

    比如我每天都要登陆TGFC,把所有私信中有“小女且”这个关键词条目删除,然后再txt上记录,今天删了几条这样的信息。这种操作可以写个python脚本来完成吗。
  • s
    somesun
    任何你人能干的, 有清晰规则的都可以

    无非就是复杂度而已
  • 万物
    request加os两个库就完事
  • 众生皆苦
    浏览器用postman之类的工具抓包。

    然后python用requests模块对该网站发送(post/get)前面抓到的包,得到response。

    然后你就按自己的想法处理response就行了,比如筛选文字,保存文件之类。
  • m
    mino
    可以

    甚至你可以养一堆小号每天翻帖子扣人激骚。
  • s
    sfczhw
    mark 学习
  • x
    xiejia31
    这种方法我以前用在国家气象中心,抓取全国气象数据。可惜现在要钱。
  • m
    masterfish
    Modern Web Automation With Python and Selenium

    https://realpython.com/modern-web-automation-with-python-and-selenium/
  • d
    doriexcel
    两种思路.

    一种是依赖自动化测试模块selenium做.
    selemium又分两种,一个是带浏览器界面,一个是PhantomJs
    老实说,论坛用这个有点杀鸡牛刀的感觉,因为论坛有wap模式啊.


    2 requests库
    .论坛wap面页处理会比较简单,get方法可以干完你想做的事情

    1 登陆
    post_url = https://wap.tgfcer.com/index.php?action=login&sid=&vt=1&tp=100&pp=100&sc=0&vf=0&sm=0&iam=&css=&verify=
    data = {
    "login": "登录",
    "password": "密码",
    "username": "账号",
    vt": "1"}
    wap好像并没有验证码机制,post传表单就能登陆,账号密码vt=1
    登陆以后,获得cookie保存cookies,以后靠这个登陆论坛,当然你每一次都登陆也没啥问题.


    2 访问 短消息列表 网址, 内容都遍历一次,你消息多可能会有几页,都遍历完就完事了
    消息网址(未读消息,全部消息),就多说了,反正get就完事了
    分析html
    soup:
    css选择器或者正则提节点内容,遍历,过滤,把想要删除的内容获得网址.
    加到一个List中
    譬如节点这样:
    <a href="index.php?action=pm&do=view&pmid=3404852&vt=1&tp=100&pp=100&sc=0&vf=0&sm=0&iam=&css=&fontsize=0">#1 您发表的帖子被引用</a>
    你就获得href然后加wap域名就能够获得点进去里面的网址,最后再从这里获得删除消息的网址
    最后用get方法就能够把消息删除掉了.

    当然你细心点就能够发现,删除消息请求的组成,修改pmid就能够直接删除短消息.
    delete&pmid=2991830
    至于获取pmid在最开始的遍历消息中就能够获取,直接用正则提就完事了.

    于是乎,最后流程是这样
    post登陆,保存cookies
    访问短消息面板,遍历,过滤,获得需要删除短消息的pmid
    字符串构成get网址,
    最后get删除短消息.

    完事,wap静态面页就是辣么的简单
  • J
    Jennety
    感谢指导,我正在学《笨方法学Phthon》,想首先把手头的一些日常工作实现脚本化。
  • X
    XtonyeE
    mark
  • j
    jimao
    mark
  • j
    jinwyp
    现在这种浏览器自动化使用nodejs+ puppeteer chrome 就是一个命令行的chrome 完全和你上网一摸一样
  • 无心而死
    楼主不错!有这个思路才是最重要的,很多废物连编程基本思路都没有,我看不用AI,把按键精灵普及一下就能替代他们
  • l
    linkliu
    用selenium很简单,用webdrive打开你本机浏览器,几行代码就够了