必须有以下几个漏洞才能实现该功能:

1.验证码是假的,有图片,但是实际输入的验证码与图片无关;否则的话必须要用到python的图像识别的模块

2.注册时不需要邮箱验证,所以注册填写的邮箱地址是任意的,只要符合邮箱输入栏的正则表达式就可以了。(相当于在对方服务器的数据库添加了一堆没用的邮箱账号)

所以这个东西很局限(正常的网站都不会有这些漏洞),只能用于爬虫的相关学习。

安装requests模块

首先,你需要对网站发出请求,所以你需要安装python的requests模块。

在MacOS的系统下,如果你已经安装了python的pip工具,那么只需要在控制命令行中输入:

$pip3 install requests

这边用pip3是因为给系统里面的python3.X安装这个模块

就会自动安装。

若没有pip,则先用easy-install安装pip:

$easy-install pip3

还有几个用于爬虫的模块,例如beautifulsoup ,urllib等等。

在windows环境下,如果安装了pip工具应该也是一样的方法。

进行分析

1.分析注册传递的数据

如果安装完了requests模块的话,接下来就可以进行对这个注册登录的操作进行分析,但是这里推荐使用goole的浏览器chrome。

打开注册地址,右击——>检查,选择network(网络),如果上面有东西先清除掉:

WX20170603-230646@2x.png

然后输入一个测试的邮箱,随便输入一个验证码:

WX20170603-231118@2x.png

点击下一步,观察network里面的数据:

WX20170603-231226@2x.png

正常来说应给是第一个,发现请求方式是POST,说明是有向服务器上传数据的,然后往下拉,找到form data:

WX20170603-231234@2x.png

这里面就很清楚了,里面上传的是刚刚我们输入的账号和密码,还有其他的一些东西,先把它保存下来,待会需要模拟上传数据。

接下来是这个输入密码的界面了:

WX20170603-231541@2x.png

我们试一下输入1234(要两次都一样,有的网站是需要大小写字母之类的,取决于里面的正则表达式),再次把network清空,点击完成注册:

WX20170603-231743@2x.png

找到第一个POST包的form data:

WX20170603-231829@2x.png

发现这里面就是刚刚输入的密码(其实一些比较好一点的网站都会有加密的,所以正常是看不出真正的密码的,例如qq空间登录时传递密码的data是经过加密处理的)。

到这一步的话,就已经成功一小半了,基本可以实现注册和登录了(虽然没有演示登录,但是是一样的,只不过传递的form data里面是账号密码和其他一些东西而已)。

2.分析点赞的时候传递的数据

找到一个东西如下:

WX20170603-232955@2x.png

点击星星,找到network里面发送的数据包:

WX20170603-233238@2x.png

我们不难发现,它是通过向Requset URL

post了一个数据包form data,里面有一个productld:4557。

这里的4557有可能是商品的代码。

然后再找到另一个商品,再次点赞,分析,发现确实是商品的一个代码。

OK,做到这里,我们已经分析完毕了,已经找到需要post的所有数据包了,那么接下来就开始码代码实现模拟这个过程了。

代码实现

import requests

import random

times = 0 # 计次

number = input('请输入需要点赞的次数:')

item_code = input('请输入商品的代码:')

for i in range(1, int(number)):

a = random.randint(1, 99999999999) # 随机生成邮箱中的字段

username = '100456456002' + str(a) + '@163.com' # 随机生成邮箱

Session = requests.session() # 生成一个新的会话窗口

url_register1 = 'http://www.05928024555.com/m/register/step1' # 注册页面(账号)

data_username = {

'param': '',

'registerType': 2,

'system': 'mRegister',

'customer.username': username,

'randomCode': '1234',

'smscn': ''} # post账号表单,以及虚假的验证码

url_register2 = 'http://www.05928024555.com/m/register' # 注册页面(密码)

data_password = {

'userCardNo': '',

'password': '1111',

'passwordConfirm': '1111'} # post密码表单

Session.post(url=url_register1, data=data_username) # 模拟输入账号并进入下一个页面

Session.post(url=url_register2, data=data_password)

# 模拟输入密码并注册

Session.post('http://www.05928024555.com/m/account/favorite/add',

data={'productId': item_code}) # 该出4558为作品编号

times += 1

print('已经点赞%d次' % times)

这样就实现了简单的一个操作,但是几乎所有的网站都不可能让我们这样做,所以并没有什么价值,只能用来学习一下。大部分原理都差不多,只不过是复杂程度不同而已,例如进行校园网登录的时候需要使用的 lt 这个表单数据,而这个数据是随机的,你需要在登录页面的源码里面找到这个东西才能实现登录。

python 自动点赞_python实现在有漏洞的网站实现自动注册、登录、点赞相关推荐

  1. python调用win32 自动登陆_Python 使用win32相关的库实现简单自动操作电脑QQ--(1,登录QQ、批量登录)...

    今天来教大家来认识QQ的第一个界面--登录界面.并实现可以自动登录 废话不多说 上代码: 注:代码中含有大量注释 所以本文就不做太多解释 #date--2020.06.19 import win32g ...

  2. python 北上资金_python爬虫技术:北向资金数据自动爬取!

    好久不见!今天我们继续python的话题啦.python现在势头凶得很,没事刷抖音.刷朋友圈.看公众号,弹出的广告总少不了python."python带你发家致富,财富自由!"广告 ...

  3. python网络爬虫_Python网络爬虫——爬取视频网站源视频!

    原标题:Python网络爬虫--爬取视频网站源视频! 学习前提 1.了解python基础语法 2.了解re.selenium.BeautifulSoup.os.requests等python第三方库 ...

  4. python搞笑教程_python爬虫- 爬取幽默笑话网站,带你一起笑翻天

    importrequestsimportthreadpoolimporttimeimportos,sysimportrefrom lxml importetreefrom lxml.html impo ...

  5. python爬虫知乎点赞_Python爬虫爬取知乎小结

    最近学习了一点网络爬虫,并实现了使用Python来爬取知乎的一些功能,这里做一个小的总结.网络爬虫是指通过一定的规则自动的从网上抓取一些信息的程序或脚本.我们知道机器学习和数据挖掘等都是从大量的数据出 ...

  6. python抖音批量点赞_python抖音三百条,悠悠一笑乐逍遥

    抖音三百条,悠悠一笑乐逍遥,夜深忽醒窗外事,不知今夕是何年. 要从上个月说起,那天晚上准备睡觉了,然后朋友突然发来一个抖音热门视频. 一向一本正经苟于工作的我,竟然沉醉于小姐姐的甜蜜的笑容,加之想到抖 ...

  7. python脚本根据cookies自动登录网站_python实现带验证码网站的自动登陆实现代码...

    早听说用python做网络爬虫非常方便,正好这几天单位也有这样的需求,需要登陆XX网站下载部分文档,于是自己亲身试验了一番,效果还不错. 本例所登录的某网站需要提供用户名,密码和验证码,在此使用了py ...

  8. python 文案自动生成_Python应用 | 利用COM技术自动生成IBM i2舞弊关系分析图表

    点蓝字关注  ↑↑↑ 数据化审计:问题导向.应用至上.解决痛点 内容摘要 什么是COM技术 IBM I2 Analyst's Notebook软件介绍 如何使用Python调用I2的COM接口,批量自 ...

  9. python自动抢_Python+Appium实现自动抢微信红包

    前言 过年的时候总是少不了红包,不知从何时开始微信红包横空出世,对于网速和手速慢的人只能在一旁观望,做为python的学习者就是要运用编程解决生活和工作上的事情. 于是我用python解决我们的手速问 ...

最新文章

  1. 【Linux】一步一步学Linux——sudo配置文件详解(106)
  2. c语言 typedef的用法
  3. python windows程序管理器_获取使用python运行的windows应用程序的列表
  4. java 数据包含_如何高效判断java数组是否包含某个值
  5. flask同源策略解决办法及flask-cors只允许特定域名跨域
  6. u-boot编译连接分析
  7. 加密托管机构Komainu与英国当局合作存储没收的加密货币
  8. C#的变迁史 - C# 4.0 之多线程篇
  9. 网络摄像机 c++ 抓拍_IP摄像机和工业摄像机怎么区分 IP摄像机和工业摄像机差异...
  10. Звезда 星星
  11. 《刻意练习》学习总结
  12. 谁在叩响野蛮人的家门?
  13. 邮件发送求职简历四大注意事项
  14. Navicat 中mysql查询使用占位符
  15. 【架构师实践课】微服务如何拆分?大型微服务项目从何下手?
  16. 【Markdown】Markdown 中的Flow flowchart.js 的基础教程
  17. Git提示:ssh: Could not resolve hostname github.com: No address associated with hostname
  18. c语言五子棋如何添加计时,五子棋教程:计时
  19. AI计算机视觉技术如何赋能智慧城市建设?5大典型场景盘点
  20. 非常普通的鹿中文电脑版

热门文章

  1. HTML 图片鼠标悬停动态效果
  2. 阿里云服务器通用型g7a实例AMD处理器CPU及网络性能说明
  3. 算法图解第一章算法简介之二分查找C++代码实现
  4. 2021-08-031179 最大的最大公约数
  5. iPhone和iPad等苹果设备自主更新Beta系统
  6. js获取摄像头权限实现拍照功能
  7. [译] 开发者(也就是我)与Rx Observable 类的对话 [ Android RxJava2 ] ( 这到底是什么?) 第五部分...
  8. 【推荐系统】多目标学习在推荐系统中的应用
  9. win10电脑连接投影仪怎样设置,有相关教程吗
  10. 【手机投影】安卓手机投影到WIN10