利用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计数排序和基数排序算法实例
Apr 25 Python
深入理解Python中命名空间的查找规则LEGB
Aug 06 Python
python基础知识小结之集合
Nov 25 Python
python矩阵转换为一维数组的实例
Jun 05 Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 Python
python Flask 装饰器顺序问题解决
Aug 08 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
Feb 16 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
Feb 12 Python
使用python实现名片管理系统
Jun 18 Python
Python爬虫如何破解JS加密的Cookie
Nov 19 Python
Python基础详解之描述符
Apr 28 Python
python pygame入门教程
Jun 01 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
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
php程序之die调试法 快速解决错误
2009/09/17 PHP
ThinkPHP实现批量删除数据的代码实例
2014/07/02 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
yii用户注册表单验证实例
2015/12/26 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
小程序微信支付功能配置方法示例详解【基于thinkPHP】
2019/05/05 PHP
javascript 二分法(数组array)
2010/04/24 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
Jquery在指定DIV加载HTML示例代码
2014/02/17 Javascript
父节点获取子节点的字符串示例代码
2014/02/26 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
详解Vue用axios发送post请求自动set cookie
2017/05/10 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
AngularJS实现的base64编码与解码功能示例
2018/05/17 Javascript
vue实现短信验证码登录功能(流程详解)
2019/12/10 Javascript
vue 虚拟DOM的原理
2020/10/03 Javascript
Python获取服务器信息的最简单实现方法
2015/03/05 Python
Python中设置变量访问权限的方法
2015/04/27 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
Python通过format函数格式化显示值
2020/10/17 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
公司JAVA开发面试题
2015/04/02 面试题
单位办理社保介绍信
2014/01/10 职场文书
环保小标语
2014/06/13 职场文书
品质标语大全
2014/06/21 职场文书
2014年敬老院工作总结
2014/12/08 职场文书
争先创优个人总结
2015/03/04 职场文书
回复函范文
2015/07/14 职场文书
合作意向书怎么写
2019/06/24 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python