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脚本实现集群检测和管理功能
Mar 06 Python
Python标准库urllib2的一些使用细节总结
Mar 16 Python
使用Python的判断语句模拟三目运算
Apr 24 Python
python daemon守护进程实现
Aug 27 Python
python编程羊车门问题代码示例
Oct 25 Python
python3+selenium自动化测试框架详解
Mar 17 Python
如何基于python测量代码运行时间
Dec 25 Python
Django的CVB实例详解
Feb 10 Python
Python Handler处理器和自定义Opener原理详解
Mar 05 Python
在Sublime Editor中配置Python环境的详细教程
May 03 Python
Python使用windows设置定时执行脚本
Nov 12 Python
利用Python判断你的密码难度等级
Jun 02 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
再Docker中架设完整的WordPress站点全攻略
2015/07/29 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
JavaScript判断IE版本型号
2015/07/27 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
jQuery AJAX timeout 超时问题详解
2016/06/21 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
AngularJs入门教程之环境搭建+创建应用示例
2016/11/01 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
2019/11/04 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
Vue 样式切换及三元判断样式关联操作
2020/08/09 Javascript
vue制作toast组件npm包示例代码
2020/10/29 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
JavaScript async/await原理及实例解析
2020/12/02 Javascript
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
使用beaker让Facebook的Bottle框架支持session功能
2015/04/23 Python
浅谈scrapy 的基本命令介绍
2017/06/13 Python
python如何求圆的面积
2020/07/01 Python
小米旗下精品生活电商平台:小米有品
2018/12/18 全球购物
网络教育自我鉴定
2014/02/04 职场文书
先进集体获奖感言
2014/02/13 职场文书
销售人员职业生涯规划范文
2014/03/01 职场文书
2014年应急管理工作总结
2014/11/26 职场文书
大学生英文求职信范文
2015/03/19 职场文书
项目验收申请报告
2015/05/15 职场文书
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫
Oracle 多表查询基本语法实例
2022/04/18 Oracle