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 27 Python
Python中Collection的使用小技巧
Aug 18 Python
Python使用Srapy框架爬虫模拟登陆并抓取知乎内容
Jul 02 Python
python基础教程之五种数据类型详解
Jan 12 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
python判断文件是否存在,不存在就创建一个的实例
Feb 18 Python
python实现比较类的两个instance(对象)是否相等的方法分析
Jun 26 Python
python画蝴蝶曲线图的实例
Nov 21 Python
Python通过TensorFLow进行线性模型训练原理与实现方法详解
Jan 15 Python
Python根据指定文件生成XML的方法
Jun 29 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 Python
python3实现飞机大战
Nov 29 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
大师制作的中短波矿石收音机
2020/04/02 无线电
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
基于linnux+phantomjs实现生成图片格式的网页快照
2015/04/15 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
php实现将数组或对象写入到文件的方法小结【三种方法】
2020/04/22 PHP
JavaScript toFixed() 方法
2010/04/15 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
jQuery中:enabled选择器用法实例
2015/01/04 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
2015/10/06 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
javascript将url解析为json格式的两种方法
2017/08/18 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
部署vue+Springboot前后端分离项目的步骤实现
2020/05/31 Javascript
Python解决鸡兔同笼问题的方法
2014/12/20 Python
在Python中使用HTMLParser解析HTML的教程
2015/04/29 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
2018/01/04 Python
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
python用插值法绘制平滑曲线
2021/02/19 Python
python 日志模块 日志等级设置失效的解决方案
2020/05/26 Python
Java Servlet API中forward() 与redirect()的区别
2014/04/20 面试题
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
卫校中专生的自我评价
2014/01/15 职场文书
招商专员岗位职责
2014/02/08 职场文书
综合实践活动方案
2014/02/14 职场文书
公司总经理岗位职责
2014/03/15 职场文书
个人合作协议书范本
2014/04/18 职场文书
工作目标责任书
2014/07/23 职场文书
事业单位聘任报告
2015/03/02 职场文书
单位计划生育责任书
2015/05/09 职场文书
Python使用scapy模块发包收包
2021/05/07 Python
python_tkinter弹出对话框创建
2022/03/20 Python