如何用 Python 爬取需要登录的网站
2015-12-22 18:08
661 查看
【原文地址:】http://python.jobbole.com/83588/
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)
相关文章推荐
- ldap服务器搭建——python认证接口
- Python的模块
- Python连接MySQL中有关中文乱码的解决问题
- WEB开发=(自带web服务器)django+python快速体验局域网内WEB开发
- 基于Python,爬取豆瓣读书源码
- Numpy基础解析(来自通联量化)
- python之异常处理
- Python微悟(一)
- Python学习笔记——函数式编程
- python:字符串的连接
- Python的pass语句
- 零基础入门学习Python(17):对象(2)
- Python os模块常用部分功能总结
- numpy 札记
- python使用mysql数据库(转)
- Python中的修饰函数
- python 脚本cron不执行
- windows转化python为可执行程序py2exe使用方法
- python基础教程_list列表生成式
- 安装ElasticSearch搜索工具并配置Python驱动的方法