Mae cyfeiriad y procsi yn newid yn y log. Nid yw'r cyrchfan byth yn ymddangos yn log mynediad y procsi. Gwiriwch a yw eich middleware yn gadael y cais i gyrraedd y llwythwr o gwbl.

Ym middleware llwythwr Scrapy, mae dychwelyd Request yn golygu ail-drefnu'r cais hwnnw. Nid yw'n golygu “parhau i anfon y gwrthrych hwn gyda'r metadata yr wyf newydd ei newid”.

Ar gyfer detholydd sy'n dewis llwybr yn unig, y ffurf bwysig yw:

def process_request(self, request):
    request.meta['proxy'] = self.choose_proxy()
    return None

Mae'r darn hwn yn dangos ffurf gyfredol y bachyn; defnyddiwch y rhyngwyneb middleware a gefnogir gan y fersiwn Scrapy sydd wedi'i osod. Rhaid i'r detholydd ddychwelyd pen draw dilys a thrin cronfa sydd ar gael yn eglur. Gall cropian cyhoeddus sy'n caniatáu cyfryngwyr cyhoeddus dynnu ymgeiswyr HTTP o'r rhestr procsïau HTTP ar gyfer y gwerth dychwelyd hwnnw.

Mae dychwelyd None yn gadael gweddill middleware'r cais a'r llwythwr i barhau. Mae dychwelyd Request arall yn ddefnyddiol pan fyddwch yn disodli neu'n ailgynnig gwaith yn fwriadol, ond mae angen rheswm ac amod ymadael arno.

Gall cylchdro sy'n dychwelyd yr un cais bob tro redeg ei god dewis ei hun dro ar ôl tro heb byth wneud cysylltiad â'r cyrchfan. Ni all codi terfynau amser nac agor mwy o borthladdoedd procsi atgyweirio'r ddolen llif rheolaeth honno.

Archwiliwch fynediad y middleware, ymddygiad dychwelyd, a'r ymgais rwydwaith gwirioneddol gyntaf fel digwyddiadau ar wahân. Mae llinell log yn dweud “procsi wedi'i ddewis” ond yn profi bod y detholydd wedi rhedeg. Nid yw'n profi bod cais wedi'i anfon gan ddefnyddio'r pen draw a ddewiswyd.

Erthyglau cysylltiedig