利用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之编写类之二方法
Oct 11 Python
Python实现控制台输入密码的方法
May 29 Python
python使用str & repr转换字符串
Oct 13 Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 Python
深入探究Django中的Session与Cookie
Jul 30 Python
Python编程产生非均匀随机数的几种方法代码分享
Dec 13 Python
Python request设置HTTPS代理代码解析
Feb 12 Python
Python+Django搭建自己的blog网站
Mar 13 Python
Python中if elif else及缩进的使用简述
May 31 Python
python读取txt文件,去掉空格计算每行长度的方法
Dec 20 Python
基于python3实现倒叙字符串
Feb 18 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 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实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
javascript让setInteval里的函数参数中的this指向特定的对象
2010/01/31 Javascript
JS判断两个时间大小的示例代码
2014/01/28 Javascript
Javascript的&&和||的另类用法
2014/07/23 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
angularjs之$timeout指令详解
2017/06/13 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
2017/12/28 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
在vue项目中引入highcharts图表的方法
2019/01/21 Javascript
[09:23]国际邀请赛采访专栏:iG战队VK,Tongfu战队Cu
2013/08/05 DOTA
编写Python CGI脚本的教程
2015/06/29 Python
Python实现将Excel转换为json的方法示例
2017/08/05 Python
Selenium定位元素操作示例
2018/08/10 Python
Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析
2019/08/13 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Django app配置多个数据库代码实例
2019/12/17 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
2020/02/16 Python
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
Stio官网:男女、儿童户外服装
2019/12/13 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
财务会计人员岗位职责
2013/11/30 职场文书
行政总监岗位职责
2013/12/05 职场文书
终止或解除劳动合同及劳动关系的证明书
2014/10/06 职场文书
成绩单评语
2015/01/04 职场文书
同意落户证明
2015/06/19 职场文书
高三生物教学反思
2016/02/22 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书
阿里云日志过滤器配置日志服务
2022/04/09 Servers