857994366 发表于 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

念十一 发表于 2019-10-7 17:03

谢谢大牛

瞬步秒杀 发表于 2019-10-7 17:04

感谢楼主分享

274718113 发表于 2019-10-7 17:06

6666

996585082 发表于 2019-10-7 17:20

好的,非常感谢

13181219683 发表于 2019-10-7 17:20

谢谢大佬

卑微的笑 发表于 2019-10-7 17:25

6666666666

272265441 发表于 2019-10-7 17:41

谢谢分享

ceet2016 发表于 2019-10-8 09:16

不好意思哈   密码改不回来了现在的密码是 qwer123      妈的,修改密码她说要英文和字母,我改不了纯数字的,不好意思,抱歉
页: [1]
查看完整版本: 爬虫作品分享---渣渣网站模拟登录并改密