找回密码
  注册[Register]
查看: 1055|回复: 8

[其他] 爬虫作品分享---渣渣网站模拟登录并改密

  [复制链接]
发表于 2019-10-7 16:56 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

本人是新手渣渣一枚,是第一次发帖,大佬路过别喷,欢迎大家帮我看看代码有什么地方可以改进优化的。本人学习爬虫也算有些时间了(也就一个月了左右),目前正在学习模拟登录,最近爬了个药智网(技术有限也就只能爬这种渣渣小网站了),现将代码分享给大家。

代码全文如下:
#测试网址:https://www.yaozh.com/
#测试账号:qq896944660 #这个不是故意的,注册要求必须有英文,一下子想不起来填啥就填了QQ,版主手下留情阿!
#初始密码:123456
#请各位同胞手下留情,玩耍完之后请将密码更改为初始密码,以便以下一位同胞也能地愉快玩耍。

import requests

#登录与改密
def change_password(login_url,test_url ,change_url):
   #创建会话以保持登录状态
   session = requests.session()

   #消息头
   headers = {}
   headers["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"

   #登录账号
   name = input("请输入登录账号:")
   #密码提示语
   password_prompt = "请输入登录密码:"
   while True:
      password = input(password_prompt)

      #登录账号所需要传输的数据
      form_data = {}
      form_data["username"] = name
      form_data["pwd"] = password
      form_data["formhash"]= "DACC73851E"  #此处为一个变量(需要根据情况修改,每天更改一次,当前是10.7日抓取到的。。)
      form_data["backurl"] = "https%3A%2F%2Fwww.yaozh.com%2F"

      login_response = session.post(login_url, headers=headers, data=form_data)
      test_response = session.get(test_url , headers=headers)  #test_response 用于验证是否登录成功。

      #验证是否登录成功
      if "qq896944660" in test_response.text:
         print("登录成功")
         while True:
            new_password = input("请输入新的登录密码:")
            re_password = input("请再次输入新的登录密码:")
            if new_password != re_password:
               print("两次密码输入结果不一致,请重新输入!")
               continue
            else:
               break

         #修改密码所所需要提交的数据。
         change_password_data = {}
         change_password_data["nowpassword"] =password
         change_password_data["password"] = new_password
         change_password_data["repassword"] = re_password
         change_password_data["issub"] = 1
         change_response = session.post(change_url, headers=headers, data=change_password_data)
         print("改密成功")
         break
      else:
         password_prompt = ("登录失败,请重新输入登录密码:")
         continue


#主程序
def main():
   login_url = "https://www.yaozh.com/login"
   test_url  = "https://www.yaozh.com/member/"
   change_url = "https://www.yaozh.com/member/uppwd/"

   change_password(login_url,test_url ,change_url)


#代码调试
if __name__ == "__main__":
   main()

  formhash查看方法:输入帐号与密码点击登录以后查看login文件下的form_data
1.png
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-7 17:03 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-7 17:04 | 显示全部楼层
感谢楼主分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-7 17:06 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-7 17:20 | 显示全部楼层
好的,非常感谢
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-7 17:20 | 显示全部楼层
谢谢大佬
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-7 17:25 | 显示全部楼层
6666666666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-7 17:41 | 显示全部楼层
谢谢分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2019-10-8 09:16 | 显示全部楼层
不好意思哈   密码改不回来了  现在的密码是 qwer123      妈的,修改密码她说要英文和字母,我改不了纯数字的,不好意思,抱歉
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|广告投放|大牛论坛

GMT+8, 2024-6-2 01:10 , Processed in 0.037485 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表