Python实现爬取需要登录的网站完整示例


Posted in Python onAugust 19, 2017

本文实例讲述了Python爬取需要登录的网站实现方法。分享给大家供大家参考,具体如下:

import requests
from lxml import html
# 创建 session 对象。这个对象会保存所有的登录会话请求。
session_requests = requests.session()
# 提取在登录时所使用的 csrf 标记
login_url = "https://bitbucket.org/account/signin/?next=/"
result = session_requests.get(login_url)
tree = html.fromstring(result.text)
authenticity_token = list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]
payload = {
  "username": "<你的用户名>",
  "password": "<你的密码>",
  "csrfmiddlewaretoken": authenticity_token # 在源代码中,有一个名为 “csrfmiddlewaretoken” 的隐藏输入标签。
}
# 执行登录
result = session_requests.post(
  login_url,
  data = payload,
  headers = dict(referer=login_url)
)
# 已经登录成功了,然后从 bitbucket dashboard 页面上爬取内容。
url = 'https://bitbucket.org/dashboard/overview'
result = session_requests.get(
  url,
  headers = dict(referer = url)
)
# 测试爬取的内容
tree = html.fromstring(result.content)
bucket_elems = tree.findall(".//span[@class='repo-name']/")
bucket_names = [bucket.text_content.replace("n", "").strip() for bucket in bucket_elems]
print(bucket_names)

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python基于PycURL实现POST的方法
Jul 25 Python
Python模拟百度登录实例详解
Jan 20 Python
python进程管理工具supervisor的安装与使用教程
Sep 05 Python
Django框架搭建的简易图书信息网站案例
May 25 Python
Django用户认证系统 User对象解析
Aug 02 Python
Python turtle库绘制菱形的3种方式小结
Nov 23 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
为什么称python为胶水语言
Jun 16 Python
Spring @Enable模块驱动原理及使用实例
Jun 23 Python
Python sublime安装及配置过程详解
Jun 29 Python
如何基于Python爬取隐秘的角落评论
Jul 02 Python
python高温预警数据获取实例
Jul 23 Python
Python获取当前页面内所有链接的四种方法对比分析
Aug 19 #Python
Python基于numpy灵活定义神经网络结构的方法
Aug 19 #Python
Python正则捕获操作示例
Aug 19 #Python
python 删除大文件中的某一行(最有效率的方法)
Aug 19 #Python
在java中如何定义一个抽象属性示例详解
Aug 18 #Python
python中将函数赋值给变量时需要注意的一些问题
Aug 18 #Python
python中子类调用父类函数的方法示例
Aug 18 #Python
You might like
php设计模式 Observer(观察者模式)
2011/06/26 PHP
深入php多态的实现详解
2013/06/09 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
php上传文件常见问题总结
2015/02/03 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
2020/01/04 PHP
用jquery来定位
2007/02/20 Javascript
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
2007/04/20 Javascript
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
JavaScript中的Array对象使用说明
2011/01/17 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
浏览器环境下JavaScript脚本加载与执行探析之动态脚本与Ajax脚本注入
2016/01/19 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
使用 jQuery 实现表单验证功能
2017/07/05 jQuery
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
深入浅出es6模板字符串
2017/08/26 Javascript
vue+web端仿微信网页版聊天室功能
2019/04/30 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
如何使用 JavaScript 操作浏览器历史记录 API
2020/11/24 Javascript
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
让python的Cookie.py模块支持冒号做key的方法
2010/12/28 Python
python 计算平均平方误差(MSE)的实例
2019/06/29 Python
基于pycharm实现批量修改变量名
2020/06/02 Python
HEMA英国:荷兰原创设计
2018/08/28 全球购物
波兰珠宝品牌:YES
2019/08/09 全球购物
自我评价怎么写正确呢?
2013/12/02 职场文书
高中生评语大全
2014/04/25 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
党员自我评价2015
2015/03/03 职场文书
简历自我评价优缺点
2015/03/11 职场文书
导游词之桂林山水
2019/09/20 职场文书
JavaScript实现两个数组的交集
2022/03/25 Javascript