Scrapy ର ପ୍ରକ୍ସି ଏଣ୍ଡପଏଣ୍ଟ ଓ ସଂଯୋଗ IP ପଢ଼ିବା
ଚୟନିତ ପ୍ରକ୍ସି ପାଇଁ ଅନୁରୋଧର ମେଟାଡାଟା ବ୍ୟବହାର କରନ୍ତୁ, response.ip_address କୁ ହ୍ୟାଣ୍ଡଲର ଦ୍ୱାରା ଦିଆଯାଇଥିବା ପିଅର ସୂଚନା ଭାବେ ଗ୍ରହଣ କରନ୍ତୁ, ଏବଂ ଲକ୍ଷ୍ୟସ୍ଥଳରେ ଏକ୍ଜିଟ IP ଯାଞ୍ଚ କରନ୍ତୁ।
ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଥିବା ପ୍ରତିକ୍ରିୟା ସହିତ ସଂଯୁକ୍ତ Request ବ୍ୟବହାର କରି ଏହାର ଚୟନିତ ପଥ ଯାଞ୍ଚ କରନ୍ତୁ। ତିନୋଟି ପର୍ଯ୍ୟବେକ୍ଷଣ ଅଲଗା ରଖନ୍ତୁ:
| କ୍ଷେତ୍ର | ଅର୍ଥ |
|---|---|
response.request.meta.get('proxy') | ଏହି ଅନୁରୋଧର ଚୟନିତ ପ୍ରକ୍ସି URL, ଥିଲେ |
response.ip_address | ଡାଉନଲୋଡ ହ୍ୟାଣ୍ଡଲର ଦ୍ୱାରା ଦିଆଯାଇଥିବା ଠିକଣା, ହୁଏତ None |
| ଏକ ବିଶ୍ୱସ୍ତ ଲକ୍ଷ୍ୟର ଉତ୍ସ ରିପୋର୍ଟ | ସେଠାରେ ପର୍ଯ୍ୟବେକ୍ଷିତ ସାର୍ବଜନୀନ ଉତ୍ସ |
କଲବ୍ୟାକ ଭିତରେ, ପ୍ରମାଣପତ୍ର ଥିବା URL ଅଂଶଗୁଡ଼ିକୁ ସାଧାରଣ ନିଦାନରୁ ବାଦ ଦିଅନ୍ତୁ:
from urllib.parse import urlsplit
proxy = response.request.meta.get('proxy')
proxy_host = urlsplit(proxy).hostname if proxy else None
self.logger.info(
'target_host=%s proxy_host=%s peer_ip=%s',
urlsplit(response.url).hostname, proxy_host, response.ip_address,
)Scrapy 2.13.3 ର HTTP/1.1 ହ୍ୟାଣ୍ଡଲରରେ ଠିକଣାଟି ପ୍ରତିକ୍ରିୟାର ସଂଯୋଗ ପିଅରରୁ ଆସେ, ଏକ୍ଜିଟ-IP ସେବାରୁ ନୁହେଁ। କେତେକ ପଥ, ଶୂନ୍ୟ-ଲମ୍ବା ପ୍ରତିକ୍ରିୟା ସହିତ, ଏହାକୁ None ରଖିପାରେ। ଅନ୍ୟ ହ୍ୟାଣ୍ଡଲର ଏହାକୁ ଅନ୍ୟ ଭାବରେ ପୂରଣ କରିପାରେ। None ନିଜେ ସିଧା ରାଉଟିଂ ପ୍ରମାଣ କରେ ନାହିଁ।
ଏକ୍ଜିଟ ଯାଞ୍ଚ ପାଇଁ, ଉଦ୍ଦିଷ୍ଟ ପ୍ରକ୍ସି ନୀତି ଅଧୀନରେ ଏକ ବିଶ୍ୱସ୍ତ ଏଣ୍ଡପଏଣ୍ଟକୁ ପଚାରନ୍ତୁ ଏବଂ ଅନୁରୋଧର ପରିଚୟ ପର୍ଯ୍ୟବେକ୍ଷଣ ସହିତ ରଖନ୍ତୁ। ଘୂର୍ଣ୍ଣାୟମାନ ମିଡଲୱେୟାର ପରବର୍ତ୍ତୀ ଯାଞ୍ଚକୁ ଅନ୍ୟ ଏଣ୍ଡପଏଣ୍ଟ ଦେଇପାରେ।
ରିଡାଇରେକ୍ଟ ମଧ୍ୟ ଅନ୍ୟ ଏକ ଅନୁରୋଧ ସୃଷ୍ଟି କରେ। ଅନ୍ତିମ ମେଟାଡାଟା ସେହି ପର୍ଯ୍ୟାୟକୁ ବର୍ଣ୍ଣନା କରେ; ପ୍ରଥମ URL ର ପଥର ପ୍ରମାଣ ଭାବେ ଗ୍ରହଣ କରିବା ପରିବର୍ତ୍ତେ ରିଡାଇରେକ୍ଟ ଇତିହାସ ଓ ମିଡଲୱେୟାରର ଯେକୌଣସି ପୁନଃ-ଚୟନ ଯାଞ୍ଚ କରନ୍ତୁ।