扇贝登录,不需要处理验证码,这一点使得该脚本简单许多
import requests
import random
import json
模拟浏览器,扇贝新闻PC端和移动端的阅读模式不同
headers = {'User-Agent': "Mozilla/5.0 (Windows NT 6.1; rv:49.0)
Gecko/20100101 Firefox/49.0",
'Referer': "https://www.shanbay.com/accounts/login/"}
登录链接
login_url = 'https://www.shanbay.com/accounts/login'
获得首页新闻列表的链接
news_list_url = 'http://www.shanbay.com/api/v1/read/news/?page=1'
完成某篇新闻阅读后需要post数据的链接,{}为该篇新闻的id
finish_url = 'https://www.shanbay.com/api/v1/read/article/user/{}/'
打卡链接
checkin_url = "http://www.shanbay.com/api/v1/checkin/?for_web=true"
def login(username, password):
#创建Session对象,该对象会自动保存cookie信息
s = requests.Session()
# 首先获得登录表单的csrftoken,这个在提交用户账号和密码的时候要一起提交
csrftoken = s.get(login_url).cookies['csrftoken']
login_form_data = {'username': username,
'password': password,
'csrfmiddlewaretoken': csrftoken
}
# s,即session里保存了cookie信息,下面的post之后,s中会添加更多认证信息,