Add 东莞法拍房 historical data: 31 sub-regions, 24,949 records (2017-2026)

Scraped all 31 Dongguan sub-regions using sortField=2 (end-time ascending)
to bypass JD's ~4000-item API cap. Merged 34 CSV files by paimaiId into
24,949 unique records covering 2017-07 to 2026-11.

Key findings:
- 上架量 grew ~50x: 98 (2017) → 4,813 (2026)
- 流拍率 peaked at 81.6% (2024), eased to 67.4% (2026)
- 樟木头: 558 records, failure rate peaked 94.2% (2024)
- 塘厦: 205 records, 2026 failure rate 51.0%

Includes: scrape_history.py, batch_scrape_towns.sh, analyze_trends.py,
yearly_stats.py, and updated SKILL.md + url_structure.md documenting
the 4000-item cap and sub-region scraping strategy.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
wiki-agent
2026-09-12 02:59:54 +00:00
co-authored by Claude Opus 4.6
parent bfbb4e6a26
commit f06d84a003
40 changed files with 25953 additions and 5 deletions
+30 -4
View File
@@ -114,10 +114,36 @@ https://pro.m.jd.com/mall/active/3Rja7L2jmC72Ta8eoa31VFDvaAjf/index.html
## 四、排序字段 `spo_sortField` 已知值
| 值 | 排序方式 |
|----|----------|
| `11` | 按最新发布排序 |
| 其他值待补充 | — |
| 值 | 排序方式 | 返回状态 | 说明 |
|----|----------|----------|------|
| `0` | 结束时间升序 | 已结束 | 同 `2`,最早在前(2017年起) |
| `1` | — | 进行中 | 当前正在拍卖的房源 |
| `2` | **结束时间升序** | **已结束** | **历史数据抓取用**,最早2017-07,按结束时间从早到晚 |
| `4` | — | 已结束 | 2020年附近数据 |
| `5` | — | 已结束 | 混合年份(2018-2026 |
| `7` | — | 已结束+少量未开始 | 近年数据(2020-2026),混合状态 |
| `8` | — | 进行中 | 当前进行中(不同于 `1` 的排序) |
| `9` | — | 未开始 | 即将开拍的房源 |
| `10` | 结束时间升序 | 已结束 | 同 `2`/`0` |
| `11` | **最新发布** | 未开始/已结束 | **默认值**,按发布时间降序,含即将开拍和近期已结束 |
| `12` | — | 已结束 | 2021-2025年数据 |
| `13` | — | 已结束 | 同 `12` |
| `14` | — | 已结束 | 混合年份(2017-2025 |
| `15` | — | 已结束 | 同 `12` |
| `16`+ | — | — | 无数据 |
### sortField=2 的用途:历史成交数据抓取
`sortField=2` 是获取历史已结束拍卖的关键参数:
- **主要返回已结束(`paimaiStatus=2`)的拍卖**,也会混入少量未开始/进行中的拍卖
- 按**结束时间升序**排列,最早的在前
- 京东平台**最早保留到 2017年7月**(2017-07-04 结束的第一条记录)
- 东莞市关键词总记录数约 46,270 条(全部类目),住宅用房约 20,276 条
- `getSearchDataNum` API 返回 `totalNum` 字段可查询总数
- **⚠️ 无限滚动约100次后停止返回新数据(~4000条硬性上限)**,无法一次获取全量
- 需要按镇/区分区域抓取来突破4000条限制(单个镇通常<4000条,可一次抓全)
> ⚠️ 默认的 `sortField=11`(最新发布)只返回近期上架的房源,无法获取早期历史数据。要抓全量历史成交,必须改用 `sortField=2`。但对于总量>4000条的城市,需按子区域分别抓取。
---