python登录豆瓣_python登录豆瓣并发帖的方法

导读热词

本文实例讲述了python登录豆瓣并发帖的方法。分享给大家供大家参考。具体如下:

这里涉及urllib、urllib2及cookielib常用方法的使用

登录豆瓣,由于有验证码,采取的办法是将验证码图片下载到同目录下,查看图片后输入验证码即可登录、发帖

帖子内容写死在代码中了

# -- coding:gbk --

import sys,time,os,re

import urllib,urllib2,cookielib

loginurl = 'https://www.douban.com/accounts/login'

cookie = cookielib.CookieJar()

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))

params = {

"form_email":"your email","form_password":"your password","source":"index_nav" #没有的话登录不成功

}

#从首页提交登录

response=opener.open(loginurl,urllib.urlencode(params))

#验证成功跳转至登录页

if response.geturl() == "https://www.douban.com/accounts/login":

html=response.read()

#验证码图片地址

imgurl=re.search('captcha',html)

if imgurl:

url=imgurl.group(1)

#将图片保存至同目录下

res=urllib.urlretrieve(url,'v.jpg')

#获取captcha-id参数

captcha=re.search('',html)

if captcha:

vcode=raw_input('请输入图片上的验证码:')

params["captcha-solution"] = vcode

params["captcha-id"] = captcha.group(1)

params["user_login"] = "登录"

#提交验证码验证

response=opener.open(loginurl,urllib.urlencode(params))

''' 登录成功跳转至首页 '''

if response.geturl() == "http://www.douban.com/":

print 'login success ! '

print '准备进行发帖'

p={"ck":""}

c = [c.value for c in list(cookie) if c.name == 'ck']

if len(c) > 0:

p["ck"] = c[0].strip('"')

addtopicurl="http://www.douban.com/group/python/new_topic"

res=opener.open(addtopicurl)

html=res.read()

m= re.search('',html)

p["topic_id"] = m.group(1)

m= re.search('',html)

p["topic_id_sig"] = m.group(1)

p["rev_title"] = 'title'

p["rev_text"] = 'send body'

p["rev_submit"] = '好了,发言'

request=urllib2.Request(addtopicurl)

request.add_header("User-Agent","Mozilla/5.0 (Windows NT 6.1) AppleWebKit/536.11 (KHTML,like Gecko) Chrome/20.0.1132.57 Safari/536.11")

request.add_header("Accept-Charset","GBK,utf-8;q=0.7,*;q=0.3")

request.add_header("Origin","http://www.douban.com")

request.add_header("Referer","http://www.douban.com/group/python/new_topic")

opener.open(request,urllib.urlencode(p))

希望本文所述对大家的Python程序设计有所帮助。

相关文章

总结

以上是编程之家为你收集整理的python登录豆瓣并发帖的方法全部内容,希望文章能够帮你解决python登录豆瓣并发帖的方法所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值