ස්පයිඩරයකට 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 ප්‍රොක්සි අගය සඳහා අපේක්ෂකයින් සපයයි.

ආරම්භකයාගේ පූරණය කළ සැකසුම් සහ සක්‍රීය මිඩ්ල්වෙයර් විධාන රේඛා ධාවනය සමඟ සසඳන්න. ඒවා ගැළපේ නම්, තෝරාගත් ඉල්ලීමේ ප්‍රොක්සි මෙටාදත්ත සහ සැබෑ ප්‍රවාහන දෝෂය සමඟ ඉදිරියට යන්න.

අදාළ ලිපි