Python实现爬取需要登录的网站完整示例

作者:罗兵 时间:2022-08-09 11:40:33 

本文实例讲述了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程序设计有所帮助。

来源:http://www.cnblogs.com/hhh5460/p/5067678.html

标签:Python,爬取,登录
0
投稿

猜你喜欢

  • Python 创建新文件时避免覆盖已有的同名文件的解决方法

    2023-08-23 23:44:46
  • 纯CSS3透明水晶盒

    2011-08-24 20:20:06
  • BootStrap 页签切换失效的解决方法

    2024-04-19 09:52:28
  • vertical-align表单元素垂直对齐

    2009-07-27 13:02:00
  • pandas分区间,算频率的实例

    2021-12-12 01:27:24
  • 打造“前端开发”程序员专用版EditPlus

    2009-01-05 13:04:00
  • 使用python+whoosh实现全文检索

    2021-01-04 05:29:46
  • Python打印“菱形”星号代码方法

    2023-02-05 17:34:42
  • 巧用overflow属性解决中间间距问题

    2007-12-08 20:26:00
  • Vue使用Echarts图表多次初始化报错问题的解决方法

    2023-07-02 16:49:54
  • Python手动或自动协程操作方法解析

    2023-06-30 11:38:41
  • Windows10系统下Mysql8.0.13忘记root密码的操作方法

    2024-01-17 00:22:20
  • Python Excel数据处理之xlrd/xlwt/xlutils模块详解

    2022-03-28 16:45:53
  • python基于property()函数定义属性

    2022-11-01 04:55:14
  • Python反转序列的方法实例分析

    2021-10-30 11:13:07
  • 用javascript实现简单计算器

    2024-04-23 09:26:33
  • 7个好用的TypeScript新功能

    2024-04-23 09:04:00
  • 截字符串 去除HTML标记

    2023-07-29 17:01:08
  • Django实战之用户认证(初始配置)

    2022-08-17 22:15:02
  • Django框架首页和登录页分离操作示例

    2022-10-06 02:16:42
  • asp之家 网络编程 m.aspxhome.com