叫我一声孙悟空 发表于 2020-11-2 22:38:28

验证码问题

if (timer.timer_setting()):
      secondTime = time.time()
      # 修改选座页面
      Jsresult = function.myWork(url.pageIndex, browerConfig.initPageIndex(secondTime, session))
      #开始拉去js验证码
      js_url = jscode.obtain_js(Jsresult)
      js_code = ''
      try:
            js_code = js_url
      except Exceptionas e:
            print("Session 值错误,检查重试!")
      need_js = re.findall(r"layout/(.+?).js", js_code)
      print("验证码已获取:" + need_js)
      js_yzm = jscode.js_code.get(need_js)
      print("动态验证码已捕获:" + str(js_yzm))

      if js_yzm == None:
            helper.failed("验证码系统未初始化,请重新执行!")
            #exit(-1)
      #下载图片验证码
      t = threading.Thread(target=function.downloadImage(str(secondTime),session))
      t.setDaemon(True)
      t.start()
      t.join()
      #初始化百度验证码识别功能
      client = function.initBaidu();
      """ 读取图片 """
      image = function.get_file_content('来选座验证码.jpg')
      yzm = function.optical(client, image)

      for i in range(1,15):
            if len(str(yzm)) != 4:
                # 下载图片验证码
                t = threading.Thread(target=function.downloadImage(str(secondTime),session))
                t.setDaemon(True)
                t.start()
                t.join()
                print("验证码识别为:" + str(len(str(yzm))) + "个字符,与系统不匹配,默认开始继续识别!"+"第"+str(i)+"次识别")
                image = function.get_file_content('来选座验证码.jpg')
                yzm = function.optical(client, image)
                print("来选座系统验证码自动识别为:" + yzm)
            else:
                break



上边是原代码,作者说要抓取js,到jscode获取字典拼接URL。是什么意思啊,求大佬不吝赐教

叫我一声孙悟空 发表于 2020-11-3 13:35:50

{:10_266:}

suchocolate 发表于 2020-11-3 14:46:36

资源url直接拿不到,需要拿到网站javascript,从中获取参数,来拼接成url。
前端构架常规操作。

叫我一声孙悟空 发表于 2020-11-3 22:24:11

老哥能具体点怎么做么,已咨询
页: [1]
查看完整版本: 验证码问题