利用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中使用partial改变方法默认参数实例
Apr 28 Python
python简单猜数游戏实例
Jul 09 Python
Python实现将xml导入至excel
Nov 20 Python
Android应用开发中Action bar编写的入门教程
Feb 26 Python
Python实现网络端口转发和重定向的方法
Sep 19 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
基于Python实现定时自动给微信好友发送天气预报
Oct 25 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
python安装gdal的两种方法
Oct 29 Python
tensorflow模型转ncnn的操作方式
May 25 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 whois查询API制作方法
2011/06/23 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
PHP分页类集锦
2014/11/18 PHP
jquery 框架使用教程 AJAX篇
2009/10/11 Javascript
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
JavaScript面向对象之私有静态变量实例分析
2016/01/14 Javascript
AngularJS ng-change 指令的详解及简单实例
2016/07/30 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
MUI 上拉刷新/下拉加载功能实例代码
2017/04/13 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
vue实现微信二次分享以及自定义分享的示例
2019/03/20 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
Python中的装饰器用法详解
2015/01/14 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
一篇文章搞懂Python的类与对象名称空间
2018/12/10 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
Python实现代码块儿折叠
2020/04/15 Python
详解CSS3 Media Queries中媒体属性的使用
2016/02/29 HTML / CSS
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
中科前程Java笔试题
2016/11/20 面试题
四年的大学生生活自我评价
2013/12/09 职场文书
大四学生思想汇报
2014/01/13 职场文书
人事任命书格式
2014/06/05 职场文书
建筑工地标语
2014/06/18 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
团组织关系介绍信
2019/06/24 职场文书