Yerləşdirilmiş Scrapy layihəsində proxy siyahısını daxil etmək və yükləmək
Scrapy proxy siyahısı resursunu paylamaya daxil edin və yerləşdirilmiş iş qovluğu əvəzinə paket məkanına görə yükləyin.
İnkişaf klonunun yanındakı proxy faylı crawler-in yerləşdirilmiş paketində avtomatik olaraq mövcud deyil. İki iş var: baytları paylamaya daxil etmək, sonra quraşdırılmış paketdə tapmaq.
Python paketinin içində crawl_app/resources/proxies.txt olan Setuptools layihəsi üçün pyproject.toml qeydi onu daxil edə bilər:
[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]
Bunu layihənin mövcud paket konfiqurasiyası ilə birləşdirin. Fərqli build backend-in öz data daxiletmə interfeysi var.
Endpoint sətirlərini istehlak edə bilən middleware üçün Python 3.11+ paket resursunu birbaşa oxuya bilər:
from importlib.resources import files
text = files('crawl_app').joinpath('resources', 'proxies.txt').read_text(
encoding='utf-8'
)
proxy_urls = [line.strip() for line in text.splitlines() if line.strip()]
Faktiki paket adından istifadə edin və oxuyucuda gözlənilən URL formatını yoxlayın. Paylanıla bilən ictimai endpoint məlumatları üçün middleware-in gözlədiyi protokol və URL formatında pulsuz proxy siyahısı ünvanlarından istifadə edin. Axtarış yerləşdirmənin cari iş qovluğundan asılı deyil.
Üçüncü tərəf PROXY_LIST parametri bu sətirlər əvəzinə fayl sistemi yolu tələb edə bilər. Həmin interfeys üçün importlib.resources.as_file istifadə edərkən, middleware çıxarılmış fayla ehtiyac duyduğu müddətcə onun kontekstini açıq saxlayın. Kontekst bağlandıqdan sonra müvəqqəti yol qaytarmaq resursu itirə bilər.
Etimad məlumatı daşıyan istehsal siyahılarını yerləşdirmənin nəzərdə tutulan sirr və ya konfiqurasiya yaddaşında saxlayın. Paket məlumatları paylanıla bilən endpoint məlumatları üçün uyğundur, kodla birləşdirilən hər şeyin məxfi qaldığı fərziyyəsi deyil.