结论:QueryList 采集 GJ 站长论坛,核心是把列表页和详情页的 DOM 选择器写准,再配合 range 和回调处理字段。
① 先抓列表页:用 QueryList 的 rules 定位帖子容器,比如 .list-item,再在 range 里写 title、url、author 等字段,url 要取 a 标签的 href 并补全域名。
② 再抓详情页:把列表页拿到的 url 作为二次采集入口,用 $ql->rules([...])->range('.post-content')->queryData() 提取正文、发布时间和阅读数。
③ 注意分页和去重:分页用 page 参数循环,入库前用帖子 id 或 url 做唯一索引,避免重复采集。
④ 最后加延时和 UA:GJ 论坛通常有基础反爬,建议每次请求 sleep 1-2 秒,并带上真实浏览器 UA,否则容易被封 IP。