如何编写Python代码实现爬虫自动登录和签到功能?

2026-05-16 19:572阅读0评论SEO教程
  • 内容介绍
  • 相关推荐

本文共计1005个文字,预计阅读时间需要5分钟。

如何编写Python代码实现爬虫自动登录和签到功能?

更新 2016/8/9:目标网站已屏蔽登录接口(PS:不过我还在用这个方式赚到了近一千点积分……)+ 前几天女友跟我说,她在素材网站上下载东西,积分都攒了。

更新 2016/8/9:最近发现目标网站已经屏蔽了这个登录签到的接口(PS:不过我还是用这个方式赚到了将近一万点积分·····)

前几天女朋友跟我说,她在一个素材网站上下载东西,积分总是不够用,积分是怎么来的呢,是每天登录网站签到获得的,当然也能购买,她不想去买,因为偶尔才会用一次,但是每到用的时候就发现积分不够,又记不得每天去签到,所以就有了这个纠结的事情。怎么办呢,想办法呗,于是我就用python写了个小爬虫,每天去自动帮她签到挣积分。废话不多说,下面就讲讲代码。

我这里用的是python3.4,使用python2.x的朋友如果有需要请绕道查看别的文章。

工具:Fiddler

首先下载安装Fiddler,这个工具是用来监听网络请求,有助于你分析请求链接和参数。

打开目标网站:www.17sucai.com/,然后点击登录

好了,先别急着登录,打开你的Fiddler,此时Fiddler里面是没有监听到网络请求的,然后回到页面,输入邮箱和密码,点击登录,下面再到fiddler里面去看

这里面的第一个请求就是你点击登录的网络请求,点击这个链接可以在右边看到你的一些请求信息

然后点击WebForms可以看到你的请求参数,也就是用户名和密码

下面我们有代码来实现登录功能

import urllib.request import urllib import gzip import www.17sucai.com/auth' opener = getOpener(header) id = 'xxxxxxxxxxxxx'#你的用户名 password = 'xxxxxxx'#你的密码 postDict = { 'email': id, 'password': password, } postData = urllib.parse.urlencode(postDict).encode() op = opener.open(url, postData) data = op.read() data = ungzip(data) print(data)

好了,接下来清空一下你的Fiddler,然后运行这个程序,看一下你的Fiddler

你可以点击这个链接,看看右边的请求信息和你用浏览器请求的是不是一样

下面是程序后代打印的信息

code=200表示登陆成功

解析来就需要获取到签到的url,这里你需要一个没有签到的账号在网站中点击签到按钮,然后通过Fiddler来获取到签到的链接和需要的信息。

然后点击“签到”,签到成功后到Fiddler中查看捕捉到的url

点击这个url可以在右边查看访问这个链接时所需要的头信息和cookies神马的,我们已经登录成功后直接使用cookies就行了,python对cookies的处理做好了封装,下面是我的代码中对cookies的使用

cj = www.17sucai.com/auth' opener = getOpener(header) id = 'xxxxxxx' password = 'xxxxxxx' postDict = { 'email': id, 'password': password, } postData = urllib.parse.urlencode(postDict).encode() op = opener.open(url, postData) data = op.read() data = ungzip(data) print(data) url = 'www.17sucai.com/member/signin' #签到的地址 op = opener.open(url) data = op.read() data = ungzip(data) print(data)

相比登录,签到也就是在登录完成后重新打开一个链接而已,由于我的账号都已经签到过了,这里就不在贴运行代码的图 了。

接下来要做的就是在你电脑上写个bat 脚本,再在“任务计划”中添加一个定时任务就行了。

在此之前你还需要配置一下python的环境变量,这里就不在赘述了。

到此这篇关于Python爬虫实现自动登录、签到功能的代码的文章就介绍到这了,更多相关Python爬虫实现自动登录、签到内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何编写Python代码实现爬虫自动登录和签到功能?

本文共计1005个文字,预计阅读时间需要5分钟。

如何编写Python代码实现爬虫自动登录和签到功能?

更新 2016/8/9:目标网站已屏蔽登录接口(PS:不过我还在用这个方式赚到了近一千点积分……)+ 前几天女友跟我说,她在素材网站上下载东西,积分都攒了。

更新 2016/8/9:最近发现目标网站已经屏蔽了这个登录签到的接口(PS:不过我还是用这个方式赚到了将近一万点积分·····)

前几天女朋友跟我说,她在一个素材网站上下载东西,积分总是不够用,积分是怎么来的呢,是每天登录网站签到获得的,当然也能购买,她不想去买,因为偶尔才会用一次,但是每到用的时候就发现积分不够,又记不得每天去签到,所以就有了这个纠结的事情。怎么办呢,想办法呗,于是我就用python写了个小爬虫,每天去自动帮她签到挣积分。废话不多说,下面就讲讲代码。

我这里用的是python3.4,使用python2.x的朋友如果有需要请绕道查看别的文章。

工具:Fiddler

首先下载安装Fiddler,这个工具是用来监听网络请求,有助于你分析请求链接和参数。

打开目标网站:www.17sucai.com/,然后点击登录

好了,先别急着登录,打开你的Fiddler,此时Fiddler里面是没有监听到网络请求的,然后回到页面,输入邮箱和密码,点击登录,下面再到fiddler里面去看

这里面的第一个请求就是你点击登录的网络请求,点击这个链接可以在右边看到你的一些请求信息

然后点击WebForms可以看到你的请求参数,也就是用户名和密码

下面我们有代码来实现登录功能

import urllib.request import urllib import gzip import www.17sucai.com/auth' opener = getOpener(header) id = 'xxxxxxxxxxxxx'#你的用户名 password = 'xxxxxxx'#你的密码 postDict = { 'email': id, 'password': password, } postData = urllib.parse.urlencode(postDict).encode() op = opener.open(url, postData) data = op.read() data = ungzip(data) print(data)

好了,接下来清空一下你的Fiddler,然后运行这个程序,看一下你的Fiddler

你可以点击这个链接,看看右边的请求信息和你用浏览器请求的是不是一样

下面是程序后代打印的信息

code=200表示登陆成功

解析来就需要获取到签到的url,这里你需要一个没有签到的账号在网站中点击签到按钮,然后通过Fiddler来获取到签到的链接和需要的信息。

然后点击“签到”,签到成功后到Fiddler中查看捕捉到的url

点击这个url可以在右边查看访问这个链接时所需要的头信息和cookies神马的,我们已经登录成功后直接使用cookies就行了,python对cookies的处理做好了封装,下面是我的代码中对cookies的使用

cj = www.17sucai.com/auth' opener = getOpener(header) id = 'xxxxxxx' password = 'xxxxxxx' postDict = { 'email': id, 'password': password, } postData = urllib.parse.urlencode(postDict).encode() op = opener.open(url, postData) data = op.read() data = ungzip(data) print(data) url = 'www.17sucai.com/member/signin' #签到的地址 op = opener.open(url) data = op.read() data = ungzip(data) print(data)

相比登录,签到也就是在登录完成后重新打开一个链接而已,由于我的账号都已经签到过了,这里就不在贴运行代码的图 了。

接下来要做的就是在你电脑上写个bat 脚本,再在“任务计划”中添加一个定时任务就行了。

在此之前你还需要配置一下python的环境变量,这里就不在赘述了。

到此这篇关于Python爬虫实现自动登录、签到功能的代码的文章就介绍到这了,更多相关Python爬虫实现自动登录、签到内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

如何编写Python代码实现爬虫自动登录和签到功能?