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 相关文章推荐
LRUCache的实现原理及利用python实现的方法
Nov 21 Python
浅谈Python中的作用域规则和闭包
Mar 20 Python
和孩子一起学习python之变量命名规则
May 27 Python
python redis 删除key脚本的实例
Feb 19 Python
Python实现堡垒机模式下远程命令执行操作示例
May 09 Python
pandas通过字典生成dataframe的方法步骤
Jul 23 Python
django-利用session机制实现唯一登录的例子
Mar 16 Python
基于python实现把json数据转换成Excel表格
May 07 Python
计算Python Numpy向量之间的欧氏距离实例
May 22 Python
python调用私有属性的方法总结
Jul 24 Python
python爬虫看看虎牙女主播中谁最“顶”步骤详解
Dec 01 Python
Python 中的单分派泛函数你真的了解吗
Jun 22 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 禁止页面缓存输出
2009/01/07 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
php parse_str() 函数的定义和用法
2016/05/23 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
js验证表单第二部分
2006/11/25 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
浅析JavaScript中的delete运算符
2013/11/30 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
Vue通过input筛选数据
2020/10/26 Javascript
详解Javascript获取缓存和清除缓存API
2017/05/25 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
详解vue中的computed的this指向问题
2018/12/05 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
微信小程序实现图片压缩
2019/12/03 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
python安装以及IDE的配置教程
2015/04/29 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
python3实现ftp服务功能(客户端)
2017/03/24 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
2019/10/24 Python
Python逐行读取文件内容的方法总结
2020/02/14 Python
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
人事部主管岗位职责
2013/12/26 职场文书
经典而简洁的婚礼主持词
2014/03/13 职场文书
高效课堂标语
2014/06/26 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
详解python的内存分配机制
2021/05/10 Python
Java工作中实用的代码优化技巧分享
2022/04/21 Java/Android