利用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使用PyFetion来发送短信的例子
Apr 22 Python
python中lambda函数 list comprehension 和 zip函数使用指南
Sep 28 Python
给Python IDLE加上自动补全和历史功能
Nov 30 Python
Python基于回溯法子集树模板解决全排列问题示例
Sep 07 Python
python抽取指定url页面的title方法
May 11 Python
在cmd命令行里进入和退出Python程序的方法
May 12 Python
python 正确保留多位小数的实例
Jul 16 Python
python调用百度语音识别api
Aug 30 Python
Python中GeoJson和bokeh-1的使用讲解
Jan 03 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
Jul 02 Python
python 动态渲染 mysql 配置文件的示例
Nov 20 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
Windows下部署Apache+PHP+MySQL运行环境实战
2012/08/31 PHP
phpcms模块开发之swfupload的使用介绍
2013/04/28 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
js+csss实现的一个带复选框的下拉框
2014/09/29 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
浅谈利用JavaScript进行的DDoS攻击原理与防御
2015/06/04 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
2016/08/02 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
详解Vue.js自定义tipOnce指令用法实例
2018/12/19 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
微信小程序地图实现展示线路
2020/07/29 Javascript
v-slot和slot、slot-scope之间相互替换实例
2020/09/04 Javascript
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
python编程实现希尔排序
2017/04/13 Python
django 开发忘记密码通过邮箱找回功能示例
2018/04/17 Python
python3+PyQt5使用数据库表视图
2018/04/24 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
解决python os.mkdir创建目录失败的问题
2018/10/16 Python
Python正则表达式和元字符详解
2018/11/29 Python
Python控制键盘鼠标pynput的详细用法
2019/01/28 Python
python的set处理二维数组转一维数组的方法示例
2019/05/31 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
医学专业职业生涯规划范文
2014/02/05 职场文书
就业推荐表自我鉴定范文
2014/03/21 职场文书
感情真挚的毕业生求职信
2014/07/19 职场文书
庆祝新中国成立65周年“向国旗敬礼”网上签名寄语
2014/09/27 职场文书
亚布力滑雪场导游词
2015/02/09 职场文书
车间班组长竞聘书
2015/09/15 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle