https://blog.csdn.net/a942242856/article/details/88379727

#python-selenium登陆今日头条

在运营今日头条的过程当中,有时候未免要进行一些重复无味的劳动。比如在发放微头条的时候,写好了许多内容,并不像每次登陆然后逐个发表。比如我想每个整点去发表一些东西。那么自动登陆今日头条就很有必要了。

选择selenium

选择这个工具的原因是,它可以模拟浏览器去登陆,从而避免一些不必要的麻烦。比如各种浏览器时间戳验证,反爬虫等不好处理的东西(请求头的拼接、cookies的获取)。加上运行不是特别的频繁,也不会造成频繁输入验证码、封IP等。

下载selenium驱动

在谷歌浏览器顶端地址栏输入

chrome://settings/help

打开帮助,查看谷歌浏览器版本

将下载下来的驱动放置到,chrome浏览器根目录,并将此目录配置到windows的环境变量当中。

设置浏览器模型

from selenium import webdriver

browser = webdriver.Chrome()

1

2

获取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)))

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

这块将获取到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)

1

2

3

4

5

这块在登陆的时候,可能页面显示未登录,其实设置cookies之后,已经登陆成功了,只需要再刷新以下一下页面 。

可再登陆完成后执行如下代码几次

browser.refresh()

browser.refresh()

1

2

完整dome代码如下

"""

#!usr/bin/env python

# -*- coding:utf-8 -*-

"""

@author:'手机视界&[变饼档博客](http://www.bianbingdang.com "变饼档博客")'

@file: login.py

@time: 2019/03/10

"""

import time

import json

from selenium import webdriver

class TouTiao:

def __init__(self):

self.cookies = None

self.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('
test')

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

作者微信:bianbingdang。转载请注明,变饼档博客

python 头条_python-selenium登陆今日头条相关推荐

  1. python-selenium登陆今日头条

    原文地址:http://www.bianbingdang.com/article_detail/148.html #python-selenium登陆今日头条 在运营今日头条的过程当中,有时候未免要进 ...

  2. 用Python打造属于自己的“今日头条” | 一个非常适合练手的全栈项目

    项目简介 通过抓取微信文章和今日头条新闻,仿照今日头条,打造一个自己的今日头条 基本思路 新闻下载 -> 新闻存储 -> 新闻展示 抓取源: 今日头条app新闻 https://lf.sn ...

  3. 短视频消重批量处理软件,短视频伪原创工具,火山头条快手秒拍 今日头条自媒体搬运原创视频批量去...

    视频解析下载支持今日头条快手抖音火山映客陌陌西瓜美拍微博等 快手今日头条火山秒拍陌陌美拍抖音小咖秀视频下载软件神器或手机 视频去重消重伪原创 批量处理短视频 小视频 自媒体视频工具 快手视频搬运 快手 ...

  4. python爬取头条好货广告_python 爬取今日头条关键词搜索

    使用python 获取今日头条的关键词的文章 使用进程池 代码如下: # -*- coding: utf-8 -*- import requests import random import requ ...

  5. python爬取头条图集_python爬取今日头条关键字图集

    1 #!/usr/bin/env python 2 #encoding: utf-8 3 4 """ 5 @version: python376 @author: Geo ...

  6. python 头条号_python爬取今日头条收藏目录

    今日头条收藏以异步加载方式加载,可用以下两种方式分析,达到以下效果: 第一种: 将收藏网页拉直最底部,直到不产生新的收藏信息,将网页下载,另存到本地,形成新的htm文件,这时可以用分析静态网页的方式进 ...

  7. python爬取今日头条_爬取今日头条街拍图片

    参考于崔庆才的Python爬虫教程,但是崔的视频时间过长,今日头条网站反爬虫也有了变化,因此写下此文章来记录自己的爬取过程遇到的问题,也给大家一些借鉴.欢迎大家讨论. 一.获取索引页. 我们会发现do ...

  8. python爬取今日头条专栏_[python3]今日头条图片爬取

    前言 代码设计流程,先模拟ajax发送搜索"街拍美女",提取返回json里面的article_url,再访问article_url,提取article_url响应的图片url,访问 ...

  9. Python爬虫 | 批量爬取今日头条街拍美图

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今日鸡汤浮云一别后,流水十年间. 专栏作者:霖he ...

最新文章

  1. mybatis直接使用自定义sql查询数据
  2. pandaboard ES学习之旅——2 ES环境搭建
  3. CSS从大图中抠取小图完整教程(background-position应用) (转)
  4. 静态库制作-混编(工程是oc为基础)
  5. LeetCode 144. 二叉树的前序遍历(递归)(迭代)(颜色标记法)
  6. VC 播放WAV文件
  7. 2017-07-12 周三 今日总结
  8. 【毕设狗】【单片机毕业设计】基于单片机的空气质量检测-仿真设计
  9. 【读书笔记】金字塔原理-构建金字塔的层级关系
  10. 全国地表径流量数据获取/植被类型数据/NPP数据/土壤侵蚀数据/土壤质地分类/降雨量栅格数据/太阳辐射量数据
  11. 前端工作七个月经验总结以及技术分享
  12. CCNA:IOS设备管理配置
  13. C语言实现的个人信息管理系统
  14. 6-2 求解一元二次方程实根的函数 (10 分)
  15. latex 定理环境,引理,定义,自定义 proof 环境
  16. ssm整合开发配置文件
  17. 解决超微主板双卡显示器不亮问题
  18. 木兰词·拟古决绝词柬友(引用)
  19. Windows桌面应用程序(1-2-4-2nd) 桌面窗口管理器
  20. 诈金花游戏单机版 附开源地址

热门文章

  1. 2021年R2移动式压力容器充装考试题库及R2移动式压力容器充装最新解析
  2. 计算机应用计算题(88)10,2018一级结构工程师《计算机应用基础》题库及答案(十)...
  3. appemit使用mplayer在谷歌chrome浏览器播放RTSP
  4. 基于python的简介以及应用知识,快做好,要发车啦(文末有个投票)
  5. ​JavaScript私有属性的多种实现方式总汇
  6. 2019-05-22 SSS扫描器;SSS扫描器指南;
  7. 【语音信号处理二】共振峰
  8. ActivePerl无法打开安装包
  9. C语言关于指针,gets()和gets_s()函数的理解
  10. SEO站群外链建设批量管理