Architecture clarification from user: spiderJobs/ is standalone execution,
NOT meant to be imported by app/. Correct dependency graph:
crawler_core ← shared base library
↑ ↑
spiderJobs app/services/crawler/
(standalone) (FastAPI backend, private layer)
Changes:
- boss.py/qcwy.py/zhilian.py: revert import back to private _boss_api etc.
- _boss/job51/zhilian_api.py: use crawler_core.base.Result/BaseFetcher/BaseSearcher
+ fix self._http → self.http_client
- _boss/job51/zhilian_client.py: use crawler_core.http_client.HTTPClient
+ _boss_client uses crawler_core.boss.sign.BossSign directly
- _boss/job51/zhilian_sign.py: backward-compat stubs → crawler_core.*.sign
Full regression: 106 passed in 0.68s
export DOCKER_DEFAULT_PLATFORM=linux/amd64 docker build -t zfc931912343/admin-crawler:v2.1 . docker push zfc931912343/admin-crawler:v2.1
docker build -t zfc931912343/boss-crawler:v1 . docker push zfc931912343/boss-crawler:v1
sudo docker rm -f admin-crawler &&sudo docker run -d --restart=always --name=admin-crawler --log-driver=json-file --log-opt max-size=10m --log-opt max-file=7 -p 9999:80 nbg2akd8w5diy8.xuanyuan.run/zfc931912343/admin-crawler:v1.5
docker run -d
--name mysql-server
--restart always
-p 3306:3306
-v /opt/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=jobdata123
-e MYSQL_DATABASE=job_data
mysql:8.0
--character-set-server=utf8mb4
--collation-server=utf8mb4_unicode_ci
Languages
Python
69.3%
Vue
22.8%
JavaScript
6.7%
Dockerfile
0.3%
Makefile
0.3%
Other
0.6%