2回答

0收藏

统一社会信用代码公示查询平台 - 不一样的极验

问答交流 问答交流 2578 人阅读 | 2 人回复 | 2020-09-10


全国组织机构统一社会信用代码公示查询平台


该平台可提供在我国境内依法注册、登记的企业、个体工商户、事业单位、机关、社会组织及其他组织机构的基本信息,是我国社会信用体系的重要基础



验证码是极验验证

但是

测试了两个打码平台的极验接口,均无法通过

为什么呢?
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('验证码安全认证已失效')


分享到:
回复

使用道具 举报

回答|共 2 个

赵琛

发表于 2020-9-11 11:47:14 | 显示全部楼层

这个网站破解了也很难爬全,还不如换数据呢
回复

使用道具 举报

fuckspider

发表于 2020-9-11 16:56:19 | 显示全部楼层

gg
回复

使用道具 举报