- Define generic Result[T] dataclass (7 fields: success, status_code, data, list, count, is_end_page, error) - Port parse_response() from spiderJobs/core/base.py returning Result[Any] - BaseFetcher: 4 template methods (_build_params, _parse required; _build_headers, _check_blocked optional) - BaseSearcher: 4 template methods with load_all() paginator using stdlib logging - crawler_core/__init__.py exports BaseFetcher, BaseSearcher, Result, HTTPClient, parse_response - No ApiResult, no loguru, no spiderJobs/app imports
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%