ବିକାଶ କ୍ଲୋନ୍ ପାଖରେ ଥିବା ପ୍ରକ୍ସି ଫାଇଲ୍ କ୍ରଲରର ନିୟୋଜିତ ପ୍ୟାକେଜରେ ସ୍ୱୟଂଚାଳିତ ଭାବରେ ନଥାଏ। ଦୁଇଟି କାର୍ଯ୍ୟ ଅଛି: ବାଇଟ୍ଗୁଡ଼ିକୁ ବିତରଣରେ ଅନ୍ତର୍ଭୁକ୍ତ କରିବା, ତାପରେ ସେଗୁଡ଼ିକୁ ସ୍ଥାପିତ ପ୍ୟାକେଜରେ ଖୋଜିବା।

ନିଜ Python ପ୍ୟାକେଜ ଭିତରେ crawl_app/resources/proxies.txt ଥିବା Setuptools ପ୍ରୋଜେକ୍ଟ ପାଇଁ, pyproject.toml ପ୍ରବେଶ ଏହାକୁ ଅନ୍ତର୍ଭୁକ୍ତ କରିପାରେ:

[tool.setuptools.package-data]
crawl_app = ["resources/*.txt"]

ଏହାକୁ ପ୍ରୋଜେକ୍ଟର ବିଦ୍ୟମାନ ପ୍ୟାକେଜ କନଫିଗରେସନ ସହିତ ମିଶ୍ରଣ କରନ୍ତୁ। ଭିନ୍ନ ବିଲ୍ଡ ବ୍ୟାକଏଣ୍ଡର ନିଜସ୍ୱ ଡାଟା-ଅନ୍ତର୍ଭୁକ୍ତି ଇଣ୍ଟରଫେସ ଅଛି।

endpoint ଷ୍ଟ୍ରିଙ୍ଗ ବ୍ୟବହାର କରିପାରୁଥିବା middleware ପାଇଁ, Python 3.11+ ପ୍ୟାକେଜ ସମ୍ବଳକୁ ସିଧାସଳଖ ପଢ଼ିପାରେ:

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()]

ପ୍ରକୃତ ପ୍ୟାକେଜ ନାମ ବ୍ୟବହାର କରନ୍ତୁ ଏବଂ ପାଠକରେ ଆଶାକରାଯାଉଥିବା URL ଫର୍ମାଟ୍ ଯାଞ୍ଚ କରନ୍ତୁ। ବିତରଣଯୋଗ୍ୟ ସାର୍ବଜନୀନ endpoint ଡାଟା ପାଇଁ, middleware ଆଶାକରୁଥିବା ପ୍ରୋଟୋକଲ ଏବଂ URL ଫର୍ମାଟରେ ମାଗଣା ପ୍ରକ୍ସି ତାଲିକା ରୁ ଠିକଣା ବ୍ୟବହାର କରନ୍ତୁ। ସନ୍ଧାନ ନିୟୋଜନର ବର୍ତ୍ତମାନ କାର୍ଯ୍ୟ ଡିରେକ୍ଟୋରୀ ଉପରେ ନିର୍ଭର କରେ ନାହିଁ।

ତୃତୀୟ-ପକ୍ଷ PROXY_LIST ସେଟିଂ ଏହି ଷ୍ଟ୍ରିଙ୍ଗଗୁଡ଼ିକ ପରିବର୍ତ୍ତେ ଫାଇଲସିଷ୍ଟମ ପଥ ଆବଶ୍ୟକ କରିପାରେ। ସେହି ଇଣ୍ଟରଫେସ ପାଇଁ importlib.resources.as_file ବ୍ୟବହାର କରିବାବେଳେ, middleware କୁ ବାହାର କରାଯାଇଥିବା ଫାଇଲ ଆବଶ୍ୟକ ହେବା ପର୍ଯ୍ୟନ୍ତ ଏହାର ପ୍ରସଙ୍ଗ ଖୋଲା ରଖନ୍ତୁ। ପ୍ରସଙ୍ଗ ବନ୍ଦ ହେବା ପରେ ଅସ୍ଥାୟୀ ପଥ ଫେରାଇବା ସମ୍ବଳ ହରାଇପାରେ।

ପ୍ରମାଣପତ୍ର ଥିବା ଉତ୍ପାଦନ ତାଲିକାଗୁଡ଼ିକୁ ନିୟୋଜନ ପାଇଁ ଉଦ୍ଦିଷ୍ଟ ଗୋପନୀୟ କିମ୍ବା କନଫିଗରେସନ ଭଣ୍ଡାରରେ ରଖନ୍ତୁ। ପ୍ୟାକେଜ ଡାଟା ବିତରଣଯୋଗ୍ୟ endpoint ଡାଟା ପାଇଁ ଉପଯୁକ୍ତ, କୋଡ ସହିତ ବଣ୍ଡଲ ହୋଇଥିବା ସବୁକିଛି ଗୋପନୀୟ ରହେ ବୋଲି ଅନୁମାନ ନୁହେଁ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ