የScrapy ፕሮክሲ መጨረሻ ነጥብ እና የግንኙነት IP ማንበብ
ለተመረጠው ፕሮክሲ የጥያቄ ሜታዳታን ይጠቀሙ፣ response.ip_addressን በአስተናጋጁ የቀረበ የአቻ መረጃ አድርገው ይያዙ፣ እና የመውጫ IPን በመድረሻው ላይ ያረጋግጡ።
የተመረጠውን መንገድ ሲመረምሩ ከተጠናቀቀው ምላሽ ጋር የተያያዘውን Request ይጠቀሙ። ሦስቱን ምልከታዎች ለያዩ፦
| መስክ | ትርጉም |
|---|---|
response.request.meta.get('proxy') | የዚህ ጥያቄ የተመረጠ ፕሮክሲ URL፣ ካለ |
response.ip_address | በማውረድ አስተናጋጅ የቀረበ አድራሻ፣ None ሊሆን ይችላል |
| የታመነ መድረሻ ምንጭ ሪፖርት | በዚያ የተስተዋለው ይፋዊ ምንጭ |
በመመለሻ (callback) ውስጥ፣ ምስክርነት የያዙ የ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 መንገድ ማስረጃ ከመውሰድ ይልቅ የእንደገና መላክ ታሪክን እና ማንኛውንም የመካከለኛ አስተናጋጅ ድጋሚ ምርጫን ይመርምሩ።