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编程之多态用法实例详解
May 19 Python
python选择排序算法实例总结
Jul 01 Python
Python爬取网页中的图片(搜狗图片)详解
Mar 23 Python
python微信公众号开发简单流程
Mar 23 Python
DataFrame 将某列数据转为数组的方法
Apr 13 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
May 07 Python
Python底层封装实现方法详解
Jan 22 Python
Python输出指定字符串的方法
Feb 06 Python
pygame实现弹球游戏
Apr 14 Python
PyQt5 控件字体样式等设置的实现
May 13 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 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中JSON的使用与转换
2015/01/14 PHP
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
Javascript跨域请求的4种解决方式
2013/03/17 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
bootstrap模态框垂直居中效果
2016/12/03 Javascript
简单谈谈React中的路由系统
2017/07/25 Javascript
jQuery EasyUI开发技巧总结
2017/09/26 jQuery
JS数组去重的6种方法完整实例
2018/12/08 Javascript
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
python解析xml模块封装代码
2014/02/07 Python
python计算书页码的统计数字问题实例
2014/09/26 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
Python获取二维矩阵每列最大值的方法
2018/04/03 Python
django反向解析和正向解析的方式
2018/06/05 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
浅析PEP570新语法: 只接受位置参数
2019/10/15 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
python使用Thread的setDaemon启动后台线程教程
2020/04/25 Python
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
怎么写有吸引力的自荐信
2013/11/17 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
2014年信用社工作总结
2014/11/25 职场文书
2014年流动人口工作总结
2014/11/26 职场文书
小学生毕业评语
2014/12/26 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
初中体育教学随笔
2015/08/15 职场文书
关于五一放假的通知
2015/08/18 职场文书
python 提取html文本的方法
2021/05/20 Python
Go语言并发编程 sync.Once
2021/10/16 Golang