欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python登錄豆瓣并發(fā)帖的方法

 更新時間:2015年07月08日 11:39:40   作者:小剛1  
這篇文章主要介紹了python登錄豆瓣并發(fā)帖的方法,涉及URL模擬登陸及cookie的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了python登錄豆瓣并發(fā)帖的方法。分享給大家供大家參考。具體如下:

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

登錄豆瓣,由于有驗(yàn)證碼,采取的辦法是將驗(yàn)證碼圖片下載到同目錄下,查看圖片后輸入驗(yàn)證碼即可登錄、發(fā)帖

帖子內(nèi)容寫死在代碼中了 

# -- 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))
#驗(yàn)證成功跳轉(zhuǎn)至登錄頁
if response.geturl() == "https://www.douban.com/accounts/login":
  html=response.read()
  #驗(yàn)證碼圖片地址
  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參數(shù)
    captcha=re.search('<input type="hidden" name="captcha-id" value="(.+?)"/>' ,html)
    if captcha:
      vcode=raw_input('請輸入圖片上的驗(yàn)證碼:')
      params["captcha-solution"] = vcode
      params["captcha-id"] = captcha.group(1)
      params["user_login"] = "登錄"
      #提交驗(yàn)證碼驗(yàn)證
      response=opener.open(loginurl, urllib.urlencode(params))
      ''' 登錄成功跳轉(zhuǎn)至首頁 '''
      if response.geturl() == "http://www.douban.com/":
        print 'login success ! '
        print '準(zhǔn)備進(jìn)行發(fā)帖'
        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"] = '好了,發(fā)言'
        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程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論