- Port HTTPClient from spiderJobs/core/http_client.py
- Add tenacity @retry decorator on post() and get() (3 attempts, min=10s wait)
- Use stdlib logging.getLogger('crawler_core.http_client') — no loguru
- No imports from spiderJobs.* or app.*
- TLS fingerprint and proxy logic preserved unchanged
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%