python实现登录抓取_Python实现爬取需要登录的网站完整示例

本文实例讲述了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实现爬取需要登录的网站完整示例

本文地址: http://www.cppcns.com/jiaoben/python/200413.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值