快使用Ctrl+D收藏本站!如果本站的文章以及资源有帮助到您,希望您能赞助本站服务器费用,感谢您的支持!本站开放注册,现邀请您一起分享技术心得!您可以-注册-

Python3.6爬虫入门自学教程之五:小项目模拟登陆CSDN(urllib高级用法)

Python爬虫 Julius_wen 1873℃ 0评论

Python3.6爬虫教程之五小项目模拟登陆CSDN(urllib高级用法)

1.登陆csdn的准备工作

1.安装抓包软件fiddler

Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件)。 Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。——百度百科

在我们浏览网页,或者登陆网站的时候,fiddler软件可以记录下来我们的浏览器和服务器之间交互的数据信息,也就是我们常说的抓包工作,抓http数据。fiddler软件下载地址:http://www.downza.cn/soft/234727.html 下载后,直接安装即可。稍后我们将介绍fiddler软件在爬虫模拟登陆过程的使用方法。

2.安装BeautifulSoup4 解析库

我这里用的是Windows平台,电脑在装python3.6环境的时候,已经同时装好了pip3.首先 使用Windows+R键,然后输出cmd,打开cmd的dos框,输入pip3,用于判断pip3是否安装成功,安装成功后,将出现下面的信息。如果没有安装成功,则请自行百度pip3的安装方法。

 

确定pip3安装成功后,我们接下来进行安装BeautifulSoup4,在dos框下输入pip3 install beautifulsoup4,回车等待。然后出现如下信息,即表示安装成功。

 

BeautifulSoup4是好用的HTML解析器,这个库在后面的博文中,我们将进行详细的介绍,这里先用着。

3.安装lxml库

lxml是第三方的,这个是解析xml或者HTML文件的第三方库,这个也需要我们自己使用pip3 安装一下。安装过程也很简单:dos框下输入pip3 install lxml等待安装完成即可。这里的第三方库文件都安装到特定的文件夹,在python编程中可以直接import即可。目前我们学的比较浅,不需要深究呢。后面的博文将深入探讨第三方模块库的安装路径,以及lxml库和BeautifulSoup4的详细说明。

2.开始抓CSDN的数据包

这里首先说明,csdn网站链接使用的是https协议,使用fiddler软件抓https的时候,需要配置一下才能开始抓https的数据包。首先选择tools,然后点击option,进行配置。

打开HTTPS配置项,勾选“CaptureHTTPS CONNECTs”,同时勾选“Decrypt HTTPS traffic”,弹出的对话框选择是(这里是按照fiddler自己的证书)如果跟我一样手机跟电脑是用wifi进行链接的话还需要选择“…fromremote clients only”。如果需要监听不可信的证书的HTTPS请求的话,需要勾选“Ignore servercertificate errors”。

这两步完成,基本上既可以抓https的数据包了。下面开始,关闭浏览器所有页面,只打开csdn登陆页面,然后清除fiddler所有连接信息,清除所有,便于登陆的时候抓包。

 

清除完信息后,在CSDN登陆页面,输入账号和密码进行登陆设置操作,抓包开始。登陆成功后,打开fiddler页面,找到passport.csdn.net域名,然后点击,在右侧即可看到相关的数据包。

这里的2 是包含着请求头的相关信息,这里请求头中Accept-Encoding: gzip, deflate, br这一行,代表着数据使用的是gzip压缩技术,所以返回的数据需要进行相应的解压操作才能被正常查看,爬虫将要设置这部分请求头的信息,用于模拟浏览器的操作。3这部分是包含着登陆信息的表格。4部分是登陆成功后返回的数据。关于请求头的内容,将在第六篇博文中详细介绍。

好的这里,我们就看到了csdn登陆操作登陆提交给服务器的表单中的内容如下:

  • username
  • password
  • It
  • execution
  • fkid
  • _eventId

这里CSDN的登陆比较复杂,咱们使用浏览器打开csdn登陆页面,然后鼠标右键查看源代码找到如下登陆部分代码

该参数可以理解成每个需要登录的用户都有一个流水号。只有有了webflow发放的有效的流水号,用户才可以说明是已经进入了webflow流程。否则,没有流水号的情况下,webflow会认为用户还没有进入webflow流程,从而会重新进入一次webflow流程,从而会重新出现登录界面。

所以我们爬虫模拟登陆的时候,需要设置这几个表单,需要获取一下当前登陆的流水号。一般的网站登陆并没有流水号,所以登陆会比较简单,但是这里CSDN需要获取一下,所以稍微有点复杂。

3. 模拟登陆CSDN的Python代码

使用pycharm运行之后,调试框出现如下信息,即代表登陆成功,然后转到了相应的页面。

4.总结

这一篇博文带大家简单看一下登陆CSDN这个项目,让大家了解一下简单基本的几个库。下一篇博文将为大家呈现如下内容:

  • Header请求结构
  • Header响应结构形式
  • header头域介绍
    • 通用头简介
    • request请求头介绍
    • response请求头介绍

 

 

转载请注明:燕骏博客 » Python3.6爬虫入门自学教程之五:小项目模拟登陆CSDN(urllib高级用法)

赞赏作者

微信赞赏支付宝赞赏

喜欢 (1)or分享 (0)

如果您喜欢本站文章,感觉本站的资源对您有帮助,请狠狠点击下面

每累计赞助40元,即可让本站按最低配置运行一个月,感谢您的支持!

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址