python-selenium登陆今日头条
原文地址:http://www.bianbingdang.com/article_detail/148.html
#python-selenium登陆今日头条
在运营今日头条的过程当中,有时候未免要进行一些重复无味的劳动。比如在发放微头条的时候,写好了许多内容,并不像每次登陆然后逐个发表。比如我想每个整点去发表一些东西。那么自动登陆今日头条就很有必要了。
选择selenium
选择这个工具的原因是,它可以模拟浏览器去登陆,从而避免一些不必要的麻烦。比如各种浏览器时间戳验证,反爬虫等不好处理的东西(请求头的拼接、cookies的获取)。加上运行不是特别的频繁,也不会造成频繁输入验证码、封IP等。
下载selenium驱动
在谷歌浏览器顶端地址栏输入
chrome://settings/help
打开帮助,查看谷歌浏览器版本
在谷歌官方下载对应的浏览器驱动。
http://chromedriver.storage.googleapis.com/index.html
如果上面的地址进不去,可以选择
https://npm.taobao.org/mirrors/chromedriver将下载下来的驱动放置到,chrome浏览器根目录,并将此目录配置到windows的环境变量当中。
设置浏览器模型
from selenium import webdriver
browser = webdriver.Chrome()
获取cookies
browser.get("https://mp.toutiao.com")
# 点击登陆按钮
login = browser.find_element_by_css_selector('body > div > div.carousel > div.page.page-1 > div > img.i3')
login.click()
time.sleep(3)
# 填写手机号
phone = browser.find_element_by_id('user-name')
phone.send_keys('19991320539')
# 获取验证码
browser.find_element_by_id('mobile-code-get').click()
verfiy_code_input = input("请输入验证码:")
# 验证码输入框
mobile_code = browser.find_element_by_id('mobile-code')
mobile_code.send_keys(verfiy_code_input)# 登陆
browser.find_element_by_id('bytedance-SubmitStatic').click()
time.sleep(5)
cookies = browser.get_cookies()
with open('cookies.json', 'w') as f:self.cookies = json.loads(f.write(json.dumps(cookies)))
这块将获取到cookies放到cookies.json
文件当中,这块今日头条在第一次登陆,会有一个云验证的图片,这块比较麻烦,只等手动点击,来获取到cookies。但是获取到之后,官方默认可以保持一个月。所以这块比较放心,不用每次都去登陆,只要得到cookie就行
使用cookie登陆
browser.get("https://mp.toutiao.com/profile_v3/index")
with open('cookies.json') as f:cookies = json.loads(f.read())
for cookie in cookies:browser.add_cookie(cookie)
这块在登陆的时候,可能页面显示未登录,其实设置cookies之后,已经登陆成功了,只需要再刷新以下一下页面 。
可再登陆完成后执行如下代码几次
browser.refresh()
browser.refresh()
完整dome代码如下
"""
#!usr/bin/env python
# -*- coding:utf-8 -*-
"""
@author:'手机视界&[变饼档博客](http://www.bianbingdang.com "变饼档博客")'
@file: login.py
@time: 2019/03/10
"""import time
import jsonfrom selenium import webdriverclass TouTiao:def __init__(self):self.cookies = Noneself.browser = webdriver.Chrome()def set_cookies(self):with open('cookies.json') as f:self.cookies = json.loads(f.read())for cookie in self.cookies:self.browser.add_cookie(cookie)def create_session(self):self.browser.get("https://mp.toutiao.com")if self.cookies is None:self.set_cookies()time.sleep(1)self.browser.get("https://mp.toutiao.com/profile_v3/index")def forward_wei(self, content):"""跳转微头条:return:"""self.browser.get("https://mp.toutiao.com/profile_v3/weitoutiao/publish")time.sleep(1)# 微头条内容框weitoutiao_content = self.browser.find_element_by_css_selector("div > div.garr-container-white.weitoutiao-index-zone > div > div:nth-child(1) > textarea")weitoutiao_content.send_keys(content)# 微头条发布按钮weitoutiao_send = self.browser.find_element_by_css_selector("div > div.garr-container-white.weitoutiao-index-zone > div > button")weitoutiao_send.click()def login(self):self.browser.get("https://mp.toutiao.com/profile_v3/index")# 点击登陆按钮login = self.browser.find_element_by_css_selector('body > div > div.carousel > div.page.page-1 > div > img.i3')login.click()time.sleep(3)# 填写手机号phone = self.browser.find_element_by_id('user-name')phone.send_keys('19991320539')# 获取验证码self.browser.find_element_by_id('mobile-code-get').click()verfiy_code_input = input("请输入验证码:")# 验证码输入框mobile_code = self.browser.find_element_by_id('mobile-code')mobile_code.send_keys(verfiy_code_input)# 登陆self.browser.find_element_by_id('bytedance-SubmitStatic').click()time.sleep(5)cookies = self.browser.get_cookies()with open('cookies.json', 'w') as f:self.cookies = json.loads(f.write(json.dumps(cookies)))print(cookies, "登陆成功")def close(self):self.browser.close()if __name__ == '__main__':tou_tiao = TouTiao()tou_tiao.create_session()tou_tiao.forward_wei('<br/>test')
作者微信:bianbingdang。转载请注明,变饼档博客
python-selenium登陆今日头条相关推荐
- python 头条_python-selenium登陆今日头条
https://blog.csdn.net/a942242856/article/details/88379727 #python-selenium登陆今日头条 在运营今日头条的过程当中,有时候未免要 ...
- python爬取今日头条_爬取今日头条街拍图片
参考于崔庆才的Python爬虫教程,但是崔的视频时间过长,今日头条网站反爬虫也有了变化,因此写下此文章来记录自己的爬取过程遇到的问题,也给大家一些借鉴.欢迎大家讨论. 一.获取索引页. 我们会发现do ...
- python 爬取今日头条热点新闻
嗯,今天就让我们来一起爬爬今日头条的热点新闻吧! 今日头条地址:https://www.toutiao.com/ch/news_hot/ 在浏览器中打开今日头条的链接,选中左侧的热点,在浏览器开发者模 ...
- python爬取今日头条的文章_Python3爬取今日头条有关《人民的名义》文章
Python3爬取今日头条有关<人民的名义>文章 最近一直在看Python的基础语法知识,五一假期手痒痒想练练,正好<人民的名义>刚结束,于是决定扒一下头条上面的人名的名义文章 ...
- python爬取今日头条专栏_[python3]今日头条图片爬取
前言 代码设计流程,先模拟ajax发送搜索"街拍美女",提取返回json里面的article_url,再访问article_url,提取article_url响应的图片url,访问 ...
- python爬取今日头条图片
主要内容 进入今日头条https://www.toutiao.com/ 按F12进行数据分析,找到要爬取的内容 根据获取的网页信息,编写代码 一些模块的使用方法 源代码展示 打包成可执行程序exe 1 ...
- 用python爬取今日头条上的图片_Python爬虫:抓取今日头条图集
今天我们来爬取今日头条图集,老司机以街拍为例. 运行平台: Windows Python版本: Python3.6 IDE: Sublime Text 其他工具: Chrome浏览器 1.网页分析 从 ...
- Python 批量获取今日头条街拍美图
大家好,在以前的文章中我们学了Ajax数据获取,这篇文章我们以今日头条为例,通过分析Ajax请求来抓取今日头条的街拍美图,并将图片下载到本地保存下来. 准备好没,我们现在开始!喜欢记得收藏.点赞.关注 ...
- 用python爬取头条文章_AI第四课:Python爬取今日头条文章
到目前为止,能使用python写一点简单的程序了,本次的任务是爬取今日头条的文章信息. 大致涉及的知识点:json数据格式,浏览器插件jsonView,浏览器开发者模式,html基础,http代理,h ...
最新文章
- vue调用百度地图API输入提示示例下拉列表一直被触发问题
- es6数组初始化_ES6 迭代器(Iterator)和 for...of循环使用方法
- python使用ddt找不到方法_python使用ddt过程中遇到的问题及解决方案【推荐】
- RTX5 | 消息队列04 - (实战技巧)串口中断回调函数ISR同步线程
- sap把系统内部直接写入到自建表_特斯拉放弃SAP后,仅四个月就开发了套ERP
- 1.7 的concurrentHashMap内部结构
- simulik中的液压建模Simscape_Fluids资料收集及学习(原SimHydraulics)
- linux:云端 ubuntu下挂载数据盘
- 服务器状态码502什么意思,Http状态码502问题复盘
- android 3d桌面壁纸,五款超酷安卓手机3D桌面软件合辑推荐
- java itext 里表格_Java解析PDF里的表格内容
- 测试进阶必备,这5款http接口自动化测试工具不要太香~
- Pytorch获取中间变量的梯度
- 电脑桌面显示不全设置方法
- jsp怎样写一个Button onclick事件
- android 文件名编码,安卓删除纯乱码文件名的文件
- C# WPF 建立无边框(标题栏)的登录窗口
- c语言输入一个三位数由小到大排序,c语言程序设计练习题.doc
- Python基本语法小结(一)
- 03——axios配置对象以及默认配置