利用Python模拟登录pastebin.com的实现方法


Posted in Python onJuly 12, 2019

任务

在https://pastebin.com网站注册一个账号,利用python实现用户的自动登录和创建paste。该任务需要分成如下两步利用python实现:

1.账号的自动登录

2.paste的自动创建

模拟账号登录

模拟登录,需要知道登录的URL是什么,那么登录URL怎么去看呢。

进入https://pastebin.com/之后,发现是以访客的身份进入的,点击身份图像的下拉中的LOGIN,进入登录页面,打开Chrome开发工具,选择Network,勾选Preserve log:

利用Python模拟登录pastebin.com的实现方法

输入用户名和密码,登录进去后,如下图:

 利用Python模拟登录pastebin.com的实现方法利用Python模拟登录pastebin.com的实现方法

这样就找到了需要提交的请求是什么,包括url,请求方法,提交的数据。POST请求是以什么格式提交的数据呢,在Request Header头部可以找到"content-type": "application/x-www-form-urlencoded",这个需要注意,因为经常遇到的还有一种提交形式叫"application/json"。

在用requests post提交请求的时候,如果是form表单形式传送,则将数据传入data参数,如果是以json格式传送,则需要将数据传入json参数。

登录之后,点击API菜单,可以从页面中 获取一个api_dev_key,后面实现自动创建paste的时候需要用到。

利用Python模拟登录pastebin.com的实现方法

自动登录和获取api_dev_key的代码

import requests
from lxml import etree
# 登录 https://pastebin.com/
login_url = "https://pastebin.com/login"
username = "kuang123321"
password = "xxxxxx"
api_dev_key = "4f45a996aa78079d8f7d14f104c45893"
session = requests.Session()
form_data = {
  "submit_hidden": "submit_hidden",
  "user_name": username,
  "user_password": password,
  "submit": "Login"
}
headers = {"content-type": "application/x-www-form-urlencoded"}
res = session.post(login_url, data=form_data, headers=headers)
print(res.status_code, res.url)
# 获取 api_dev_key
api_url = "https://pastebin.com/api"
text = session.get(api_url).content.decode("utf-8")
html = etree.HTML(text)
target_divs = html.xpath('//*[@id="content_left"]/div[9]/div/text()')
if target_divs:
  api_dev_key = target_divs[0]
  print(api_dev_key)
else:
  raise Exception("cannot find api_dev_key")

总结

以上所述是小编给大家介绍的利用Python模拟登录pastebin.com的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python中使用Beautiful Soup库的超详细教程
Apr 30 Python
python安装oracle扩展及数据库连接方法
Feb 21 Python
Python实现字典(dict)的迭代操作示例
Jun 05 Python
python使用matplotlib画饼状图
Sep 25 Python
快速排序的四种python实现(推荐)
Apr 03 Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
Feb 11 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 Python
python 数据库查询返回list或tuple实例
May 15 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
详解用selenium来下载小姐姐图片并保存
Jan 26 Python
django之使用celery-把耗时程序放到celery里面执行的方法
Jul 12 #Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 #Python
Django中celery执行任务结果的保存方法
Jul 12 #Python
python hough变换检测直线的实现方法
Jul 12 #Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 #Python
完美解决python3.7 pip升级 拒绝访问问题
Jul 12 #Python
在交互式环境中执行Python程序过程详解
Jul 12 #Python
You might like
Sony CFR 320 修复改造
2020/03/14 无线电
用PHP和MySQL保存和输出图片
2006/10/09 PHP
preg_match_all使用心得分享
2014/01/31 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
ThinkPHP5 框架引入 Go AOP,PHP AOP编程项目详解
2020/05/12 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
jquery 操作iframe的几种方法总结
2013/12/13 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
p5.js 毕达哥拉斯树的实现代码
2018/03/23 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
python实现删除文件与目录的方法
2014/11/10 Python
Python文件和目录操作详解
2015/02/08 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
python中tab键是什么意思
2020/06/18 Python
详解Python 最短匹配模式
2020/07/29 Python
Python调用REST API接口的几种方式汇总
2020/10/19 Python
Python实现区域填充的示例代码
2021/02/03 Python
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
加拿大留学自荐信
2014/01/28 职场文书
店面销售职位的职责
2014/03/09 职场文书
董事长助理工作职责范本
2014/07/01 职场文书
信用卡结清证明怎么写
2014/09/13 职场文书
个园导游词
2015/02/04 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
关爱留守儿童主题班会
2015/08/13 职场文书
小学五年级(说明文3篇)
2019/08/13 职场文书