香港云主机最佳企业级服务商!

ADSL拨号VPS包含了中国大陆(联通,移动,电信,)

中国香港,国外拨号VPS。

当前位置:云主机 > python >

电信ADSL拨号VPS
联通ADSL拨号VPS
移动ADSL拨号VPS

python登录豆瓣并发帖的方法


时间:2021-12-08 14:53 作者:admin610456


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

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

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

帖子内容写死在代码中了

# -- coding:gbk --import sys, time, os, reimport urllib, urllib2, cookielibloginurl = '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('<img id="captcha_image" src="(.+?)" alt="captcha" class="captcha_image"/>', html)  if imgurl:    url=imgurl.group(1)    #将图片保存至同目录下    res=urllib.urlretrieve(url, 'v.jpg')    #获取captcha-id参数    captcha=re.search('<input type="hidden" name="captcha-id" value="(.+?)"/>' ,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('<input type="hidden" name="topic_id" value="(.+?)">', html)         p["topic_id"] = m.group(1)        m= re.search('<input type="hidden" name="topic_id_sig" value="(.+?)">', 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程序设计有所帮助。

(责任编辑:admin)






帮助中心
会员注册
找回密码
新闻中心
快捷通道
域名登录面板
虚机登录面板
云主机登录面板
关于我们
关于我们
联系我们
联系方式

售前咨询:17830004266(重庆移动)

企业QQ:383546523

《中华人民共和国工业和信息化部》 编号:ICP备00012341号

Copyright © 2002 -2018 香港云主机 版权所有
声明:香港云主机品牌标志、品牌吉祥物均已注册商标,版权所有,窃用必究

云官方微信

在线客服

  • 企业QQ: 点击这里给我发消息
  • 技术支持:383546523

  • 公司总台电话:17830004266(重庆移动)
  • 售前咨询热线:17830004266(重庆移动)