利用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中Genarator函数用法分析
Apr 08 Python
python3中dict(字典)的使用方法示例
Mar 22 Python
将tensorflow的ckpt模型存储为npy的实例
Jul 09 Python
详解配置Django的Celery异步之路踩坑
Nov 25 Python
Python多进程入门、分布式进程数据共享实例详解
Jun 03 Python
numpy数组广播的机制
Jul 12 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
Python实现CAN报文转换工具教程
May 05 Python
python Yaml、Json、Dict之间的转化
Oct 19 Python
使用pandas实现筛选出指定列值所对应的行
Dec 13 Python
python 检测nginx服务邮件报警的脚本
Dec 31 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设计模式之模板方法模式实例浅析
2018/12/20 PHP
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
js对象内部访问this修饰的成员函数示例
2014/04/27 Javascript
前端js弹出框组件使用方法
2020/08/24 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
easyui下拉框动态级联加载的示例代码
2017/11/29 Javascript
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
Vue.js获取手机系统型号、版本、浏览器类型的示例代码
2020/05/10 Javascript
python控制台显示时钟的示例
2014/02/24 Python
使用python实现strcmp函数功能示例
2014/03/25 Python
Python中的闭包总结
2014/09/18 Python
Python开发的实用计算器完整实例
2017/05/10 Python
Django实战之用户认证(用户登录与注销)
2018/07/16 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
Python中的上下文管理器相关知识详解
2019/09/19 Python
python dataframe NaN处理方式
2019/12/26 Python
pytorch实现用CNN和LSTM对文本进行分类方式
2020/01/08 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
选购世界上最好的美妆品:Cult Beauty
2017/11/03 全球购物
Delphi笔试题
2016/11/14 面试题
个人自我评价和职业目标
2014/01/24 职场文书
早读迟到检讨书
2014/01/24 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
活动总结格式范文
2014/04/26 职场文书
留学经费担保书
2014/05/12 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
个人遵守党的政治纪律情况对照检查材料思想汇报
2014/09/25 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
五一劳动节活动总结
2015/02/09 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
浅谈Java父子类加载顺序
2021/08/04 Java/Android
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android
Linux服务器离线安装 nginx的详细步骤
2022/06/16 Servers