Python模拟登录CSDN

2023-05-16

关于CSDN的模拟登录,网上已经有相当一部分博主发过类似的文章,我这里不过稍稍模仿下,使用前辈们的经验时,还是非常感激的。具体过程如下:

(1)确定登录页面的表单递交网址hosturl,以及得到cookie之后需要抓取的页面;

(2)审查元素,查看所需要的header,以及是否有加密行为;

(3)心怀敬畏的码代码:

A 建立opener,向posturl页面递交表单数据,返回得到cookie

B 用带有cookie的opener访问最终页面

下面上源代码

#-*-coding:GBK-*-
#author:zwg
import urllib,urllib2,re,cookielib
#建立带有cookie的opener
cookie = cookielib.CookieJar()
cookieProc = urllib2.HTTPCookieProcessor(cookie)
opener = urllib2.build_opener(cookieProc)
#opener=urllib2.build_opener()
#opener.add_handler(cookieProc)
#opener.addheaders(headers)
h = opener.open('https://passport.csdn.net').read().decode("utf8")
patten1 = re.compile(r'name="lt" value="(.*?)"')
patten2 = re.compile(r'name="execution" value="(.*?)"')
b1 = patten1.findall(h)
b2 = patten2.findall(h)
postData = {
    'username': '账号',
    'password': '密码',
    'lt': b1[0],
    'execution': b2[0],
    '_eventId': 'submit',
}
postData= urllib.urlencode(postData)

opener.addheaders = [('User-Agent',
                      'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36'),
                     ('Referer', 'https://passport.csdn.net/account/login?from=http://my.csdn.net/my/mycsdn')
                     ]
response = opener.open('https://passport.csdn.net', data=postData)
text = response.read()
# print(text)
# exit()
response2 = opener.open('http://my.csdn.net/my/mycsdn')
text2 = response2.read()
file1 = file('csdn.html', 'w')
file1.write(text2)
file1.close()


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python模拟登录CSDN 的相关文章

  • 从数据框中按索引删除行

    我有一个数组wrong indexes train其中包含我想从数据框中删除的索引列表 0 63 151 469 1008 要删除这些索引 我正在尝试这样做 df train drop wrong indexes train 但是 代码失败
  • python 中的代表

    我实现了这个简短的示例来尝试演示一个简单的委托模式 我的问题是 这看起来我已经理解了委托吗 class Handler def init self parent None self parent parent def Handle self
  • Python模块可以访问英语词典,包括单词的定义[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 python 模块 它可以帮助我从英语词典中获取单词的定义 当然有enchant 这可以帮助我检查该单词是否存在于英语中
  • Python逻辑运算符优先级[重复]

    这个问题在这里已经有答案了 哪个运算符优先4 gt 5 or 3 lt 4 and 9 gt 8 这会被评估为真还是假 我知道该声明3 gt 4 or 2 lt 3 and 9 gt 10 显然应该评估为 false 但我不太确定 pyth
  • 将数据帧行转换为字典

    我有像下面的示例数据这样的数据帧 我正在尝试将数据帧中的一行转换为类似于下面所需输出的字典 但是当我使用 to dict 时 我得到了索引和列值 有谁知道如何将行转换为像所需输出那样的字典 任何提示都非常感激 Sample data pri
  • Argparse nargs="+" 正在吃位置参数

    这是我的解析器配置的一小部分 parser add argument infile help The file to be imported type argparse FileType r default sys stdin parser
  • 如何在 pytest 中将单元测试和集成测试分开

    根据维基百科 https en wikipedia org wiki Unit testing Description和各种articles https techbeacon com devops 6 best practices inte
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • Pandas 数据帧到 numpy 数组 [重复]

    这个问题在这里已经有答案了 我对 Python 很陌生 经验也很少 我已经设法通过复制 粘贴和替换我拥有的数据来使一些代码正常工作 但是我一直在寻找如何从数据框中选择数据 但无法理解这些示例并替换我自己的数据 总体目标 如果有人真的可以帮助
  • Python urllib.request.urlopen:AttributeError:'bytes'对象没有属性'data'

    我正在使用 Python 3 并尝试连接到dstk 我收到错误urllib包裹 我对SO进行了很多研究 但找不到与这个问题类似的东西 api url self api base street2coordinates api body jso
  • 如何解决使用 Spark 从 S3 重新分区大量数据时从内存中逐出缓存的表分区元数据的问题?

    在尝试从 S3 重新分区数据帧时 我收到一个一般错误 Caused by org apache spark SparkException Job aborted due to stage failure Task 33 in stage 1
  • 如何从Python中的字符串中提取变量名称和值

    我有一根绳子 data var1 id 12345 name John White python中有没有办法将var1提取为python变量 更具体地说 我对字典变量感兴趣 这样我就可以获得变量的值 id和name python 这是由提供
  • Numpy 过滤器平滑零区域

    我有一个 0 及更大整数的 2D numpy 数组 其中值代表区域标签 例如 array 9 9 9 0 0 0 0 1 1 1 9 9 9 9 0 7 1 1 1 1 9 9 9 9 0 2 2 1 1 1 9 9 9 8 0 2 2 1
  • 奇怪的 MySQL Python mod_wsgi 无法连接到 'localhost' (49) 上的 MySQL 服务器问题

    StackOverflow上也有类似的问题 但我还没有发现完全相同的情况 这是在使用 MySQL 的 OS X Leopard 机器上 一些起始信息 MySQL Server version 5 1 30 Apache 2 2 13 Uni
  • Seaborn Pairplot 图例不显示颜色

    我一直在学习如何在Python中使用seaborn和pairplot 这里的一切似乎都工作正常 但由于某种原因 图例不会显示相关的颜色 我无法找到解决方案 因此如果有人有任何建议 请告诉我 x sns pairplot stats2 hue
  • 将 matplotlib 颜色图集中在特定值上

    我正在使用 matplotlib 颜色图 seismic 绘制绘图 并且希望白色以 0 为中心 当我在不进行任何更改的情况下运行脚本时 白色从 0 下降到 10 我尝试设置 vmin 50 vmax 50 但在这种情况下我完全失去了白色 关
  • 如何使用列表作为pandas数据框中的值?

    我有一个数据框 需要列的子集包含具有多个值的条目 下面是一个带有 运行时 列的数据框 其中包含程序在各种条件下的运行时 df condition a runtimes 1 1 5 2 condition b runtimes 0 5 0 7
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • 如何为每个屏幕添加自己的 .py 和 .kv 文件?

    我想为每个屏幕都有一个单独的 py 和 kv 文件 应通过 main py main kv 中的 ScreenManager 选择屏幕 设计应从文件 screen X kv 加载 类等应从文件 screen X py 加载 Screens

随机推荐

  • 关于在linux操作系统下打不出汉字或者在敲打汉字时无法显示拼音的问题

    在linux下出现问题不比在window下形象 在window下 你发现哪个软件有问题了 xff0c 点击几下鼠标就完事了 xff1b 要是在linux系统下 xff0c 不懂代码 xff0c 可修复不了 打不出汉字 xff0c 在这我就说
  • 解析/etc/hosts文件

    1 xff0c etc hosts xff0c 主机名和ip配置文件 hosts The static table lookup for host name 主机名查询静态表 linux 的 etc hosts是配置ip地址和其对应主机名的
  • c++语法大全

    c 43 43 语法大全 一 变量和简单数据类型 1 变量名只能包含字母 数字和下划线 可以以字母和下划线开头 xff0c 但是不能从数字开头 xff1b 变量名不能包含空格 2 数据类型 字符串 字符串可以用双引号或者单引号括起来 xff
  • libxml2的安装及使用

    本文着重介绍解析xml的libxml2库的安装及使用 xff0c 举例说明创建和解析xml的过程 是针对C语言开发人员使用 你若想详细学习前端的一套东西 xff0c 即xml html css javascript JS 等 xff0c 可
  • dd 与cp的区别

    dd命令和cp命令的区别 cp与dd的区别在于cp可能是以字节方式读取文件 xff0c 而dd是以扇区方式记取 显然dd方式效率要高些 dd最大的用处是他可以进行格式转换和格式化 dd是对块进行操作的 xff0c cp是对文件操作的 比如有
  • 畸变校正与极线校正(具体原理+Matlab代码)

    附 xff1a 相关需要的工具函数源代码 xff08 投影函数 校正矩阵计算等 xff09 见最下面 1 畸变校正 1 1 形成原因 图像畸变一般有两种 xff0c 第一种是透镜本身的形状有问题 xff0c 使得图像发生径向畸变 xff1b
  • 无人驾驶项目——交通标志识别

    在无人驾驶项目中 xff0c 实现交通标志识别是一项重要工作 本文以德国交通标志数据集为训练对象 xff0c 采用深度神经网络LeNet架构处理图像 xff0c 实现交通标志识别 具体处理过程包括包括 xff1a 数据导入 探索和可视化数据
  • 使用机器人操作系统ROS 2和仿真软件Gazebo 9主题进阶实战(七)- mobot速度发布与里程计订阅

    在ROS2课程中已经学过并掌握了一个基本的发布器和订阅器 xff08 C 43 43 xff09 xff0c 官网的教程全部掌握大致需要20分钟吧 这过程包括 xff1a 创建一个功能包编程实现一个发布节点编程实现一个订阅节点编译与运行 这
  • ROS + Caffe 机器人操作系统框架和深度学习框架笔记 (機器人控制與人工智能)

    ROS 43 Caffe xff0c 这里以环境中物体识别为示例 xff0c 机器人怎么知道环境里面有什么呢 xff1f 0 0567392 n03376595 folding chair 0 0566773 n04099969 rocki
  • Ubuntu 16.04 使用docker资料汇总与应用docker安装caffe并使用Classifier(ros kinetic+usb_cam+caffe)

    Docker是开源的应用容器引擎 若想简单了解一下 xff0c 可以参考百度百科词条Docker 好像只支持64位系统 Docker官网 xff1a https www docker com Docker 从入门到实践 xff1a http
  • Ubuntu与ROS的Docker桌面系统与ROS在线练习课程(在线Linux虚拟机)

    ROS在线练习课程正在逐步完善中 xff0c 目前以ROS官网中文资料制作 xff0c 可参考 xff1a https www shiyanlou com courses 854 邀请码 U23ERF8H 安装Ubuntu 43 ROS对于
  • 用于ARM和Debian的ROS Docker镜像

    这里推荐两个链接 xff1a 1 Using ROS with Docker in macOS xff1a https www xiaokeyang com blog using ros with docker in macos 2 Get
  • 2021电赛F题之openmv巡线(附代码)

    效果展示 xff1a 出错解决方法 openmv数字识别源代码 gitee 通过使用不同阈值的方法可以得到当前区域中什么区域有红线 xff0c 对于电控而言作用类似于红外对管 xff0c 之后电控通过逻辑判断如何运动 xff0c 这就是我们
  • 元学习—模型不可知元学习(MAML)

    元学习 模型不可知元学习 MAML 在之前的文章中 xff0c 我们介绍了神经图灵机和记忆增强网络 MANN xff0c 主要介绍了其对于内存中信息的读取与写入 有兴趣的读者可以参考我之前的博客元学习 神经图灵机 在今天的文章中 xff0c
  • 俩小伙一晚上写了个 AI 应用,月入两万??(文末附开发教程)

    开发出一款能够与 AI 对话生成和编辑思维导图的工具 xff0c 听起来似乎只能是一群专业的 AI 背景团队花费大量的时间和精力训练模型 xff0c 打磨应用才能完成的事情 但是 xff0c 两名大学生却在一夜之间完成了 xff0c 就像炼
  • 解决AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using local

    一 启动apache遇到错误 xff1a httpd Could not reliably determine the server s fully qualified domain name 二 修改配置 vim etc httpd co
  • java 多线程CompletableFuture用法

    引用 span class token keyword private span span class token keyword final span span class token class name ThreadPoolTaskE
  • 注册表的解释和一些简单的修改

    注册表的解释和一些简单的修改 一 HKEY CLASSES ROOT根键 此根键中主要记录着Windows 95 98中所有的文件类型 xff0c 包括安装操作系统时约定注册的和由于以后安装软件而新加载的各种文件类型 xff0c 并将不同的
  • Java数据类型

    JAVA的数据类型体系 Java数据类型总结 java中的数据类型分两大类分别是数据类型和引用数据类型 1 Java中的数据类型有八种 xff0c 即基本类型 具体如下 xff1a 数据类型 位数 取值范围 xff1a Boolean 1
  • Python模拟登录CSDN

    关于CSDN的模拟登录 xff0c 网上已经有相当一部分博主发过类似的文章 xff0c 我这里不过稍稍模仿下 xff0c 使用前辈们的经验时 xff0c 还是非常感激的 具体过程如下 xff1a xff08 1 xff09 确定登录页面的表