|
全国组织机构统一社会信用代码公示查询平台
该平台可提供在我国境内依法注册、登记的企业、个体工商户、事业单位、机关、社会组织及其他组织机构的基本信息,是我国社会信用体系的重要基础
验证码是极验验证
但是
测试了两个打码平台的极验接口,均无法通过
为什么呢?
import requests import json import re proxies = Nonese = requests.Session() home_url = 'https://www.cods.org.cn/'headers = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36',} se.headers = headers se.get('https://www.cods.org.cn/cods/stat/dealer?Event=Unload&SiteID=1&StickTime=59491', proxies=proxies) se.get(home_url, proxies=proxies) # 获取sign参数 POSTinvoke_url = 'https://www.cods.org.cn/cods/ajax/invoke'parm = '_ZVING_METHOD=search/query&_ZVING_URL=%2F&_ZVING_DATA={"type":"1","keywords":"%E5%B7%A5%E4%BC%9A"}&_ZVING_DATA_FORMAT=json'data = {item.split('=')[0]: item.split('=')[1] for item in parm.split('&') if len(item.split('=')) == 2} inv_rep = se.post(invoke_url, data=data, proxies=proxies) print(inv_rep.text) inv_rep_data = json.loads(inv_rep.text) test_url = 'https://www.cods.org.cn/gscx/index.html?k=%E5%B7%A5%E4%BC%9A'se.get(test_url, proxies=proxies) # 验证码页面 POSTisearch_url = 'https://ss.cods.org.cn/isearch'jsonString = '%257B%2522type%2522%253A%25221%2522%252C%2522keywords%2522%253A%2522%2525E5%2525B7%2525A5%2525E4%2525BC%25259A%2522%252C%2522usermobile%2522%253A%2522%2522%252C%2522token%2522%253A%2522%2522%257D'data = {'sign': inv_rep_data.get('sign'), 'jsonString': inv_rep_data.get('jsonString')} #isearch_rep = se.post(isearch_url, data=data, proxies=proxies) # 获取极验参数challenge = re.search(r'challenge":"(\w+)"', isearch_rep.text) gt = re.search(r'gt":"(\w+)"', isearch_rep.text) searchToken = re.search(r'searchToken=(\w+)"', isearch_rep.text) challenge = challenge.group(1) gt = gt.group(1) geetest_crack_url = 'http://0.0.0.0:8889/getValidate'parm = {'gt': gt, 'challenge': challenge, 'ua': headers['User-Agent'], 'ref': home_url} valiedate = se.get(geetest_crack_url, params=parm, timeout=30) print(valiedate.text) if valiedate.text.find('validate') > -1: geetest_result = json.loads(valiedate.text) # 提交验证码 valid_url = 'https://ss.cods.org.cn/latest/searchR' parm = {'q': '%25E5%25B7%25A5%25E4%25BC%259A', 't': 'common', 'currentPage': 1, 'searchToken': searchToken.group(1), 'geetest_challenge': geetest_result['challenge'], 'geetest_validate': geetest_result['validate'], 'geetest_seccode': f'{geetest_result["validate"]}|jordan'} valid_url += '?' for k, v in parm.items(): valid_url += f'{k}={v}&' valid_url = valid_url[:-1] print(valid_url) search_rep = se.get(valid_url, proxies=proxies, headers=headers) if search_rep.text.find('验证码安全认证已失效') == -1: print(search_rep.text) else: print('验证码安全认证已失效')
|
|