利用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的Django框架中settings文件的部署建议
May 30 Python
python字典快速保存于读取的方法
Mar 23 Python
python 发送和接收ActiveMQ消息的实例
Jan 30 Python
在cmd中查看python的安装路径方法
Jul 03 Python
Python编程中类与类的关系详解
Aug 08 Python
python xlwt如何设置单元格的自定义背景颜色
Sep 03 Python
对pytorch的函数中的group参数的作用介绍
Feb 18 Python
Python用来做Web开发的优势有哪些
Aug 05 Python
浅谈如何使用python抓取网页中的动态数据实现
Aug 17 Python
利用python批量爬取百度任意类别的图片的实现方法
Oct 07 Python
Python爬虫之爬取某文库文档数据
Apr 21 Python
七个非常实用的Python工具包总结
Jun 15 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
用JQuery调用Session的实现代码
2010/10/29 Javascript
基于OO的动画附加插件,可以实现弹跳、渐隐等动画效果 分享
2013/06/24 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
2015/02/28 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
python实现每次处理一个字符的三种方法
2014/10/09 Python
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
Python中用于返回绝对值的abs()方法
2015/05/14 Python
Eclipse和PyDev搭建完美Python开发环境教程(Windows篇)
2016/11/16 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
Python基于tkinter模块实现的改名小工具示例
2017/07/27 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
python并发编程多进程之守护进程原理解析
2019/08/20 Python
Django使用Profile扩展User模块方式
2020/05/14 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
python 使用csv模块读写csv格式文件的示例
2020/12/02 Python
瑞士国际航空官网:SWISS
2016/07/21 全球购物
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
中医药大学市场营销专业自荐信
2013/09/29 职场文书
大学毕业生自荐书怎么写?
2014/01/06 职场文书
关爱留守儿童标语
2014/06/18 职场文书
会计系毕业求职信
2014/08/07 职场文书
群众对十八届四中全会的期盼
2014/10/17 职场文书
宾馆前台接待岗位职责
2015/04/02 职场文书
爱国主义影片观后感
2015/06/18 职场文书
Python机器学习之KNN近邻算法
2021/05/14 Python