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