你好,最近入手Python,拿豆瓣下手,嘻嘻
找了几个项目模仿起来。
这是问题:
在向已加入的豆瓣小组发帖时,用了下面,post请求
def post_new_topic(group_url, topic_dict):
# 在指定的小组发帖
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'}
r = requests.post(group_url, cookies=doubanutil.get_cookies(),
data=topic_dict,headers=headers)
doubanutil.logger.info("in func post_new_topic(), " +
str(group_url) + ", status_code: " + str(r.status_code))
return r
但是不成功
也有其他的方法,有的是这样
def new_topic(self, group_id, title, content):
group_url = "https://www.douban.com/group/" + group_id
post_url = group_url + "/new_topic"
post_data = urllib.urlencode({
'ck': self.ck,
'rev_title': title,
'rev_text': content,
'rev_submit': '好了,发言',
})
request = urllib2.Request(post_url)
#request.add_header("Origin", "https://www.douban.com")
request.add_header("Referer", post_url)
response = self.opener.open(request, post_data)
if response.geturl() == group_url:
print 'Okay, Success !'
return True
return False
但是也不成功,
所以想问问怎么解决这个问题,以上代码有错吗?
真的好难啊。想不通~
额,是我问题没提好。运行结果没有报错,所以这个不好改,我把所有代码都检查了n遍,最后我认为,是因为豆瓣会,这是我的猜测也不知道对不对,会设定如果频繁发出post请求会锁定IP,cookie,然后你就没办法再操作,因为这个有时可以,有时又不行。