Scrapy વિનંતી સફળતાપૂર્વક Splash સુધી પહોંચી શકે છે, જ્યારે Splash ની અંદરનું બ્રાઉઝર હજી પણ અલગ આઉટબાઉન્ડ માર્ગની જરૂર ધરાવે છે. આ બે જોડાણો છે:

Scrapy → Splash API
Splash browser → forward proxy → website

દરેક રેન્ડર માટે એક પ્રોક્સી માટે, HTTP API નો proxy આર્ગ્યુમેન્ટ પાસ કરો. Splash 3.5 http://proxy.example:8080 જેવી પ્રોક્સી URL, અથવા ગોઠવેલ proxy-profile નામનું દસ્તાવેજીકરણ કરે છે. તેનું URL ફોર્મેટ SOCKS5 અને વૈકલ્પિક ઓળખપત્રોને પણ સમર્થન આપે છે.

જ્યારે વ્યક્તિગત પૃષ્ઠ સંસાધનોને જુદા જુદા એન્ડપોઇન્ટની જરૂર હોય, ત્યારે execute સ્ક્રિપ્ટ વાપરો અને નેવિગેશન પહેલાં પસંદગી નોંધો:

function main(splash, args)
  splash:on_request(function(request)
    local host = args.default_proxy
    if request.url == args.special_resource then
      host = args.special_proxy
    end
    request:set_proxy{host = host, port = 8080, type = 'HTTP'}
  end)

  assert(splash:go(args.url))
  return splash:html()
end

default_proxy અને special_proxy ને હોસ્ટનામ તરીકે અને special_resource ને અલગથી રૂટ કરવાના સંસાધનની ચોક્કસ URL તરીકે પાસ કરો. જ્યારે બે શ્રોતા અલગ હોય ત્યારે ઉદાહરણનો એકમાત્ર પોર્ટ બદલો. અન્ય સંસાધનોને ડિફોલ્ટ માર્ગ મળે છે. HTTP પ્રોક્સી સૂચિ આ હોસ્ટ અને પોર્ટ ક્ષેત્રો માટે એન્ડપોઇન્ટ ઉમેદવારો પ્રદાન કરે છે, જ્યારે જાહેર સંસાધન માર્ગોની મંજૂરી હોય અને ઉમેદવારો પર કોઈ પ્રોક્સી ઓળખપત્ર લાગુ ન કરવામાં આવે.

request પદ્ધતિ વૈકલ્પિક username અને password ક્ષેત્રો સ્વીકારે છે. HTTP પ્રકાર સાથે, HTTPS ગંતવ્યો તે HTTP પ્રોક્સી દ્વારા CONNECT વાપરે છે; તેમને બનાવટી HTTPS પ્રોક્સી પ્રકારની જરૂર નથી.

કૉલબેક દરેક વિનંતી પહેલાં ચાલે છે. તેની request પદ્ધતિઓ વિનંતી મોકલાયા પછી બદલી શકતી નથી, અને કૉલબેક splash:go અથવા splash:wait જેવી અસમકાલિક Splash પદ્ધતિઓને બોલાવી શકતું નથી.

જ્યારે પૃષ્ઠ એક સત્ર અથવા સ્રોત ઓળખની અપેક્ષા રાખે ત્યારે માર્ગ પસંદગી સ્થિર રાખો. દરેક છબી અને API વિનંતીને અવ્યવસ્થિત રીતે બીજા આઉટલેટને સોંપવાથી એવું રેન્ડર થયેલું પૃષ્ઠ બની શકે છે જેની વિનંતીઓ હવે એક સુસંગત સત્ર સાથે સંબંધિત નથી.

સંબંધિત લેખો