python登录豆瓣_python登录豆瓣,发帖
學習了urllib、urllib2及cookielib常用方法的使用登錄豆瓣,由于有驗證碼,采取的辦法是將驗證碼圖片下載到同目錄下,查看圖片后輸入驗證碼即可登錄、發帖帖子內容寫死在代碼中了
[Python]代碼
# -- 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('', 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))
http://outofmemory.cn/code-snippet/3900/python-denglu-douban-fatie
總結
以上是生活随笔為你收集整理的python登录豆瓣_python登录豆瓣,发帖的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 依时利考勤机说明书_考勤机(依时利)产品
- 下一篇: websocket python爬虫_p