Python3 豆瓣登录并评论,保存登录状态
2017-12-29 00:00
603 查看
使用requests模块,保存登录信息并评论
注意:
1. 每部电影只能评论一次,多次会保错403
2. 登录和评论的headers不一样,不然会报错500
注意:
1. 每部电影只能评论一次,多次会保错403
2. 登录和评论的headers不一样,不然会报错500
import requests requests = requests.Session() def login(requests): headers = { "Host": "www.douban.com", "Connection": "keep-alive", "Origin": "https://www.douban.com", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.3964.2 Safari/537.36", "Referer": "https://www.douban.com/", } # 获取验证码 img_url = 'https://www.douban.com/j/misc/captcha' response = requests.get(img_url, headers=headers) js = response.json() # 验证码地址和token captcha_url = "https:" + js['url'] captcha_token = js['token'] print(captcha_url, captcha_token) # 保存验证码需要使用content获取二进制流,文件写入需要使用wb+模式 response = requests.get(captcha_url, headers=headers) with open("cap_img.jpg", mode='wb+') as f: f.write(response.content) # 登录 data = { "source": "index_nav", "form_email": "uid", "form_password": "pwd", "captcha-solution": input("请输入验证码:\n"), "captcha-id": captcha_token } url = 'https://www.douban.com/accounts/login' response = requests.post(url, data=data, headers=headers) # 判断是否登录成功 print("成功" if "阿豪" in response.text else "失败") # url = "https://www.douban.com/people/165985804/" # 获取个人主页,查看是否登录成功 # print( # requests.get(url, headers=headers).text # ) # 评论的电影的id movie_id = "20495023" url = "https://movie.douban.com/j/subject/%s/interest" % movie_id data = { "ck": "u08z", "interest": "collect", "rating": 5, "foldcollect": "F", "tags": "动画 亲情 音乐 2017 皮克斯 梦想", "comment": "寻梦环游记是今年最好看的电影", } headers = { "Host": "movie.douban.com", "Connection": "keep-alive", "Origin": "https://movie.douban.com", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.3964.2 Safari/537.36", "Referer": "https://movie.douban.com/subject/%s/?from=showing" % movie_id, } response = requests.post(url, data=data, headers=headers) print(response.text, response.status_code) login(requests)
相关文章推荐
- Vue中保存用户登录状态
- 基于python3 抓取贴吧图片与评论 图片下载保存
- python爬虫(登录豆瓣并修改签名)
- 在flask中使用session保存登录状态,以及拦截未登录请求
- 自动登录、记住我(保存登陆状态)实现
- python爬虫登录豆瓣(二)
- phonegap android app登录状态保存释疑
- python3爬虫爬取豆瓣电影并保存到sql serve数据库
- vuex + axios 做登录验证 并且保存登录状态的实例
- Python爬虫(3)豆瓣登录
- python 模拟登录豆瓣 并 发表动态
- 使用session保存用户登录状态(实现单点登录)
- Sharedpreferences轻量级数据库 基本操作 可实现保存登录状态 保存少量数据 比如密码 第一次登录动画,第二次不显示
- 使用cookie保存用户的登录状态——初步实现
- python模拟浏览器打开百度首页并登录或者点击首页新闻并保存网页
- [置顶] iOS持久化Cookies与清空(可以用来保存登录状态和退出登录)
- python登录豆瓣并发帖的方法
- Python(爬虫) — 爬取《和平饭店》的豆瓣评论
- python爬取豆瓣数据评论数据并通过词云显示