ଏକ ସ୍ପାଇଡର୍ scrapy crawl ଅଧୀନରେ ପ୍ରତ୍ୟାଶିତ ପ୍ରକ୍ସି ବ୍ୟବହାର କରିପାରେ ଏବଂ Python ସ୍କ୍ରିପ୍ଟ ଦ୍ୱାରା ଆରମ୍ଭ ହେଲେ ସିଧାସଳଖ ଯାଏ। ପ୍ରକ୍ସି ସର୍ଭର ବଦଳାଇବା ପୂର୍ବରୁ ସେହି ସ୍କ୍ରିପ୍ଟ କିପରି ତାର ସେଟିଂଗୁଡ଼ିକ ତିଆରି କରେ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ।

ବର୍ତ୍ତମାନର ଏକ Scrapy ପ୍ରୋଜେକ୍ଟ ଏବଂ ଏହାର ପଞ୍ଜୀକୃତ ସ୍ପାଇଡର ପାଇଁ:

from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings

settings = get_project_settings()
process = CrawlerProcess(settings=settings)
process.crawl('catalog')
process.start()

catalog କୁ ପ୍ରୋଜେକ୍ଟର ସ୍ପାଇଡର୍ ନାମ ସହିତ ବଦଳାନ୍ତୁ। ପ୍ରୋଜେକ୍ଟଟି ଏହାର scrapy.cfg ମାଧ୍ୟମରେ, କିମ୍ବା ଆମଦାନୀ ଯୋଗ୍ୟ ସେଟିଂସ୍ ମଡ୍ୟୁଲକୁ ସୂଚାଉଥିବା ସଠିକ୍ ଭାବରେ ସେଟ୍ ହୋଇଥିବା SCRAPY_SETTINGS_MODULE ମାଧ୍ୟମରେ ଚିହ୍ନଟ ହେବା ଆବଶ୍ୟକ।

କେବଳ CrawlerProcess() ତିଆରି କଲେ ପ୍ରୋଜେକ୍ଟର ସେଟିଂସ୍ ଫାଇଲ୍ ଆମଦାନୀ ହୁଏ ନାହିଁ, କେବଳ ସ୍କ୍ରିପ୍ଟ ସ୍ପାଇଡର୍ କ୍ଲାସ୍ ମଧ୍ୟ ଆମଦାନୀ କରେ ବୋଲି ନୁହେଁ। ତେଣୁ DOWNLOADER_MIDDLEWARES ଦ୍ୱାରା ସକ୍ଷମ ଏକ କଷ୍ଟମ୍ ମିଡଲୱେର୍ ସେହି ରନ୍ରେ ଅନୁପସ୍ଥିତ ରହିପାରେ।

ସେଟିଂଗୁଡ଼ିକ ଲୋଡ୍ କରିବା ଦ୍ୱାରା ବିନ୍ୟାସିତ ଉପାଦାନଗୁଡ଼ିକ ମିଳେ; ଏହା ପ୍ରକ୍ସି ଠିକଣା ତିଆରି କରେ ନାହିଁ। Scrapyର HTTP ପ୍ରକ୍ସି ମିଡଲୱେର୍କୁ ଏବେ ମଧ୍ୟ ଏହାର ସାଧାରଣ ପରିବେଶ ପ୍ରକ୍ସି କିମ୍ବା ସ୍ପଷ୍ଟ request.meta['proxy'] ମୂଲ୍ୟ ଆବଶ୍ୟକ। HTTPPROXY_ENABLED ଏହାକୁ ନିଷ୍କ୍ରିୟ କରି ନାହିଁ ବୋଲି ଯାଞ୍ଚ କରନ୍ତୁ। ଅନୁମତିପ୍ରାପ୍ତ ସାର୍ବଜନୀନ ପୃଷ୍ଠା କ୍ରଲ୍ ପାଇଁ HTTP ପ୍ରକ୍ସି ତାଲିକା ସେହି ମେଟାଡାଟା କିମ୍ବା ପରିବେଶ ମାଧ୍ୟମରେ ଦିଆଯାଉଥିବା HTTP ପ୍ରକ୍ସି ମୂଲ୍ୟ ପାଇଁ ପ୍ରାର୍ଥୀ ପ୍ରଦାନ କରେ।

ଲଞ୍ଚର୍ର ଲୋଡ୍ ହୋଇଥିବା ସେଟିଂସ୍ ଏବଂ ସକ୍ରିୟ ମିଡଲୱେର୍କୁ କମାଣ୍ଡ-ଲାଇନ୍ ରନ୍ ସହିତ ତୁଳନା କରନ୍ତୁ। ଯଦି ସେଗୁଡ଼ିକ ମେଳ ଖାଏ, ଚୟନିତ ଅନୁରୋଧର ପ୍ରକ୍ସି ମେଟାଡାଟା ଏବଂ ପ୍ରକୃତ ପରିବହନ ତ୍ରୁଟି ସହିତ ଆଗକୁ ବଢ଼ନ୍ତୁ।

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