You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

URL REST参数编码规则解析与Python高效爬取方案咨询

土地公开数据站点URL参数规则破解与采集优化

对接站点资源定位规则

当前对接的公开免费数据站点通过REST路径参数定位资源,三类土地业务资源的访问URL如下:

  • 在线DCR(土地变更费用缴费凭证):http://XXX/pages/doc?data=21192
  • Khatian(土地权属法定证明文档):https://XXX/qr-vk/b59e7
  • Dakhila(土地税款缴费凭证):https://YYYY/MVBDSzI4UTYzdUsydFJLZGJwT0x2

核心需求为探明三类URL参数21192、b59e78、MVBDSzI4UTYzdUsydFJLZGJwT0x2Z9的生成规则,重点突破前两类短参数的编码逻辑,替代原有百万级请求量的暴力枚举方案,提升采集效率。

原有暴力枚举采集实现

最初采用小写字母+数字全排列的方式枚举参数发起请求,该方案需要发起百万级请求,耗时长、有效返回占比极低,实现代码如下:

#!/usr/bin/python -tt
# -*- coding: utf-8 -*-

import requests
import string
import itertools
import PyPDF2
from pathlib import Path
import os
import sys
import random


asciiletters =list(string.ascii_letters)
lowercases =list(string.ascii_lowercase)[:]
numbers = list(map(str,list(range(0,10))))[:]


for nmbr in numbers:
    codes_chunk_to_write = []
    prmlist = numbers+lowercases
    random.shuffle(prmlist)
    idlist = itertools.permutations(prmlist,6)
    
    for id_ in idlist:
        code = 'b'+nmbr+''.join(id_)       
    
        url = 'https://XXX/qr-vk/'+code
        pdfname = code+'.pdf'
        response = requests.get(url)
        
        if "@@@@@@" in response.text:
            pdf_response = requests.get('https://XXX/qr-print/'+code)
            with open(pdfname, 'wb') as f:
                f.write(pdf_response.content)
            
        print(f"Completed {code}")

已验证的参数编码规律

此前的错误判断认为这类参数是无业务含义的随机唯一标识,无法建立参数与返回内容的关联,但实际测试已经验证参数与返回PDF内的业务编号存在明确映射关系:

  • 第一类DCR参数规则已完全明确:访问http://XXX/pages/doc?data=21192返回的PDF中包含孟加拉语数字৪৭০৬,对应阿拉伯数字4706167;十六进制值21192转十进制结果为347061,仅需在数值前拼接1位分区代码3即可匹配对应业务编号片段。
  • 第二类Khatian参数规则尚未完全破解:访问https://XXX/qr-vk/b59e7返回的PDF中包含孟加拉语数字৪৭০৬১,对应阿拉伯数字47061;十六进制值b59e7转十进制结果为304706,数值前2位30为分区代码,拼接后末尾还需补1位数字即可匹配完整业务编号,该末尾数字的生成规则暂未探明。
  • 第三类Dakhila的长参数暂未开展规律验证。

核心诉求

需要补全第二类短码末尾数字的生成逻辑,得到完整的参数生成/解码规则,替换现有低效的暴力枚举逻辑,大幅压缩无效请求量,提升采集效率。


内容的提问来源于stack exchange,提问作者Learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 03:09:15