使用Python程序化地在Reddit上发布评论

0 投票
1 回答
1368 浏览
提问于 2025-04-16 10:08

我正在使用httplib2这个库,具体信息可以在这里找到。

到目前为止,我的代码是这样的:

    http = httplib2.Http()
    url= 'http://www.reddit.com/api/login'
    body= {'user' : 'DUMMYUSERNAME', 'passwd': 'DUMMYPASSWORD'}
    headers = {'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8'}
    response, content= http.request(url, 'POST', headers=headers, body=urllib.urlencode(body))
    headers = {'Cookie': response['set-cookie']}

我可能搞错了,但我觉得上面的代码成功让我登录了reddit.com(我该怎么确认这一点呢?)

接下来的步骤是发送评论。我查看了Firebug中的网络选项卡,发现这个表单需要几个变量:

id  #form-t3_f3oj23a4
r   learnprogramming
renderstyle html
text    testing send data
thing_id    t3_f3oj2
uh  6qsck0zhpa2585dac6a0ab49250cbceca76fb36df883320896

但我不太确定:

  1. 如何编程找到每个不同页面所需的帖子数据。(我该怎么找到每个页面的id、thing_id和uh呢?)
  2. 如何把这些数据发送到reddit。

这样做可以吗?

data= dict(thing_id="t3_f3oj2", text="testing", id="#form-t3_f3oj2ikj", r="learnprogramming", uh="sz4n7idqmc22bdeec21d7f2ca3e9408b102160646e2fcbbff4", renderstyle="html")
resp, content = h.request("http://www.reddit.com/r/blahblahsubreddit/comments/f3oj2/blahblahpost/", "POST", urllib.urlencode(data))

我使用的库合适吗?谢谢。

1 个回答

1

我建议你去看看Reddit的API:

http://code.reddit.com/wiki/API

撰写回答