利用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正则表达式介绍
Aug 06 Python
Python中Continue语句的用法的举例详解
May 14 Python
python+matplotlib演示电偶极子实例代码
Jan 12 Python
python实现周期方波信号频谱图
Jul 21 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
PyQt5创建一个新窗口的实例
Jun 20 Python
python psutil模块使用方法解析
Aug 01 Python
Python 日期区间处理 (本周本月上周上月...)
Aug 08 Python
python3 selenium自动化测试 强大的CSS定位方法
Aug 23 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
Dec 07 Python
详解OpenCV获取高动态范围(HDR)成像
Apr 29 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
yii框架源码分析之创建controller代码
2011/06/28 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
PHP7.0安装笔记整理
2015/08/28 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
Jquery ajax加载等待执行结束再继续执行下面代码操作
2015/11/24 Javascript
Node.js重新刷新session过期时间的方法
2016/02/04 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
AngularJS入门教程之XHR和依赖注入详解
2016/08/18 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
2016/10/27 Javascript
Angular-Ui-Router+ocLazyLoad动态加载脚本示例
2017/03/02 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
Django+Vue实现WebSocket连接的示例代码
2019/05/28 Javascript
JavaScript setTimeout()基本用法有哪些
2020/11/04 Javascript
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
python装饰器与递归算法详解
2016/02/18 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
python图形用户接口实例详解
2019/12/16 Python
Python如何访问字符串中的值
2020/02/09 Python
Python基于百度AI实现OCR文字识别
2020/04/02 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
幼儿教师研修感言
2014/02/12 职场文书
开业主持词
2014/03/21 职场文书
员工工作能力评语
2014/12/31 职场文书
2015年上半年物业工作总结
2015/03/30 职场文书
公务员保密工作承诺书
2015/05/04 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
2016年三严三实党课学习心得体会
2016/01/06 职场文书
Python趣味挑战之用pygame实现简单的金币旋转效果
2021/05/31 Python
用JS写一个发布订阅模式
2021/11/07 Javascript
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python