V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
httpbin - 协议调试工具
httpstatuses - 协议状态码查询
httpie - cURL-like tool for humans
Fiddler
xiongxin8802
V2EX  ›  HTTP

怎么写一个自动发贴程序?

  •  
  •   xiongxin8802 · 2015-11-09 12:04:35 +08:00 · 3383 次点击
    这是一个创建于 3306 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要有下面的功能
    自动登录
    自动发帖
    切换代理

    16 条回复    2016-06-23 13:54:55 +08:00
    kendetrics
        1
    kendetrics  
       2015-11-09 12:06:07 +08:00
    用手写
    xiongxin8802
        2
    xiongxin8802  
    OP
       2015-11-09 12:07:08 +08:00
    @kendetrics 我怎么感觉无从下手呀。。
    kendetrics
        3
    kendetrics  
       2015-11-09 12:10:29 +08:00
    @xiongxin8802 自动登陆和自动发帖无非就是个模拟 HTTP 请求的问题
    登陆请求拿 cookie ,发帖请求使用 cookie
    切换代理写个简单的爬虫从代理公布网站拉就行了
    sandideas
        4
    sandideas  
       2015-11-09 12:12:10 +08:00
    就按照你说的那个顺序写啊。
    先写自动登录,然后写自动发帖,最后切换代理。。
    自动登录就模拟浏览器登录,直接 post 试试,不行就一个一个参数去完善。。
    自动发帖也是一样啊,如果有验证码还得想办法破解验证码。
    切换代理就没什么好说的了吧。。
    xiongxin8802
        5
    xiongxin8802  
    OP
       2015-11-09 12:15:25 +08:00
    @sandideas 切换代理还真不知道怎么弄
    sandideas
        6
    sandideas  
       2015-11-09 13:16:09 +08:00 via iPhone
    @xiongxin8802 看你用什么语言。。不过一般的都有设置代理的方法吧。调用一下就好
    dai269619118
        7
    dai269619118  
       2015-11-09 13:16:33 +08:00
    scrapy
    crab
        8
    crab  
       2015-11-09 13:53:06 +08:00
    对会的,这是基础很简单。
    不会的,你问这个问题也得不到答案。因为答案你还是依然不懂这些。
    akira
        9
    akira  
       2015-11-09 14:06:03 +08:00
    找人写一个, 3 位数应该有人接了。
    包括自动切代理和自动验证码的,应该 4 位数加每个月一定费用也有人接的
    odirus
        10
    odirus  
       2015-11-09 17:25:49 +08:00
    @Felldeadbird +1 ,从小工到砖家
    jedyu
        11
    jedyu  
       2015-11-09 17:28:17 +08:00
    requests.session
    bdbai
        12
    bdbai  
       2015-11-09 17:41:21 +08:00 via iPhone
    难得上 V2 就是来当伸手党的话,请移步百度社交产品。
    terry0314
        13
    terry0314  
       2015-11-09 17:59:02 +08:00 via Android
    我写过一个论坛的自动发帖脚本,然后被封号了。。。
    iannil
        14
    iannil  
       2015-11-09 18:03:41 +08:00   ❤️ 1
    做过类似的东西,简单列一下,供参考。
    1 、你需要一个能完善处理 Cookie 、 Header 、 Web 代理、编码、 HTTP 的各类请求的库。用哪个语言开发就用哪个语言的库,这种库很多,选 github 上 star 最多的一般就够用了。
    2 、你需要类似 fiddler 的数据包截获的工具, chrome 或 firefox+firebug 中的一个。这用来获得 HTTP 请求和响应的数据内容。
    3 、构造 HTTP 请求。
    4 、在一些公开代理的网站上获取代理,并做成 IP 池进行管理。
    5 、建立并实现发布规则,例如什么情况下切换 IP ,如何产生发布的任务,发布的数据从哪来。针对这些数据来源,你可能需要一个爬虫或管理后台,来产生预备发布的数据。(如果你要发随机产生的垃圾数据,这条可以忽略)
    6 、让你的发布器和数据源做好通讯,用 API 之类的方式就可以。
    7 、为你的发布器设置运行规则,如定时执行还是实时执行?并发数多少?
    8 、构造具体发布的规则,如发布 A 网站是否需要登录?是否需要缓存?

    下面是一些扩展:
    9 、遇到 Javascript 混编加密的网站,光登录你就需要处理并解释 Javascript ,如 58 同城,你需要一个 Javascript 解释器去解释执行遇到的 Javascript 。
    10 、遇到验证证书的 HTTPS 加密,你需要设置代理。
    11 、遇到验证码,你需要 OCR 或找云打码平台或自己输入。

    就这么多吧,构造一个普通的发布器基本够用了。
    lengjingxu
        15
    lengjingxu  
       2015-11-10 15:42:25 +08:00 via Android
    准备帖子地址列表,一般找到地址 id 循环+1 就好了。
    然后用 curl 带上 cookie 提交表单。
    zjupigeon
        16
    zjupigeon  
       2016-06-23 13:54:55 +08:00
    javascript 有没有好的这种工具库推荐?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1038 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:13 · PVG 06:13 · LAX 14:13 · JFK 17:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.