python-利用豆瓣爬虫发个动态

目前总的来说是失败了。原因可能是因为豆瓣验证码的问题,因为我看不到登录时候的界面,所以没法分析验证码的链接。(我用自己的浏览器登录都是默认不要验证码的,这就尴尬了),所以登录不上,后面的post也就没有意义了。把代码贴出来。

python-利用豆瓣爬虫发个动态python-利用豆瓣爬虫发个动态
# -*- coding: utf-8 -*-
"""
Created on Sat Jan  6 14:45:40 2018

@author: xglc
"""
import requests
import time

session = requests.session() #创建request对象 

def _login(iddata):
    url = 'https://www.douban.com/accounts/login'
    login_header = {
            'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',
            'Origin':'https://www.douban.com/accounts/login',
    }
    session.headers.update(login_header)
    session.post(url,data=iddata,headers=session.headers)
#_login()
#print(session.headers.items)

def _saysth(say_data):
    url = 'https://www.douban.com/'
    add_headers = {'Cache-Control':'max-age=0',
                   'Content-Length':'20',
                   'Content-Type':'application/x-www-form-urlencoded'
            }
    session.headers.update(add_headers)
    session.post(url,data=say_data,headers=session.headers)

if __name__ == '__main__':  
    iddata = {'form_mail':'账号',
              'form_password':'密码',
              'redir':'https://www.douban.com',
              'login':'登录',
              }
    _login(iddata)
    print ('_login')
#    print (session.headers.items)
    for i in range(5):
        print(5-i)
        time.sleep(1)
    say_data = {'ck':'OJop',
                'comment':'vict',
                }
    _saysth(say_data)
    print('完成!')
    
View Code

也不打算继续扣了,因为用的是自己平时用的账号,post 太多豆瓣别把我给封了?如果继续扣的话,大概方向有两点

  • 找出豆瓣验证码的链接(我手动登录完全看不到验证码,这是我的常用电脑,所以无法分析)
  • 完善update一下headers的内容,那里还有一些需要修改的项。

这几天淮南雪都开始化了,零下5度,made,空调还给我偶尔出冷风,需要赶紧上班去办公室温暖一下。

手动分析豆瓣js查看:

Python-关于豆瓣发布“说句话”,添加网页等的js行为分析

上一篇:最近写了个自动填写调查的问卷的简单爬虫


下一篇:selenium+firefox调试成功