Size: a a a

2020 October 19

Asen Баал in Scrapy
Кирилл
document.querySelectorAll('iframe.js-relap-widget')
хм, блин, спасибо, вроде пробовал так но не шло, кстати переодически сайт перестаёт отвечать и не выдаёт вообще ни одного ifram'a пока не перезагрузишь, может в тот момент пытался
источник

Asen Баал in Scrapy
А почему действительно iframe может быть загружен, но не всегда доступен?
источник

A

Andrii in Scrapy
хочу сделать мидлвар вейбек машин,
class WaybackMiddleware(object):
   def process_request(self, request, spider):
       if 'web.archive.org' not in request.url:
           new_url = 'http://archive.org/wayback/available?url=' + request.url
           request = request.replace(url=new_url)
       return request
но на таком после пуска зависает  скрейпи
2020-10-19 12:05:43 [scrapy.middleware] INFO: Enabled item pipelines:
['crawlers.pipelines.SourceDownloaderPipeline',
'crawlers.pipelines.SourceExampleProfilesPipeline']
2020-10-19 12:05:43 [scrapy.core.engine] INFO: Spider opened
2020-10-19 12:05:43 [scrapy.extensions.logstats] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2020-10-19 12:05:43 [scrapy.extensions.telnet] INFO: Telnet console listening on 127.0.0.1:6023

`
источник

AR

Andrey Rahmatullin in Scrapy
читай что надо возвращать из методов мидлварей
источник

A

Andrii in Scrapy
просто делаю return request и оно висит (
источник

AR

Andrey Rahmatullin in Scrapy
читай что надо возвращать из методов мидлварей
источник

К

Кирилл in Scrapy
process_request() should either: return None, return a Response object, return a Request object, or raise IgnoreRequest.
источник

A

Andrii in Scrapy
а может кто носом прям в ошибку? потому что просто меняю адрес с вейбек на что-то другое так все работает
источник

AR

Andrey Rahmatullin in Scrapy
изи
источник

AR

Andrey Rahmatullin in Scrapy
If it returns a Request object, Scrapy will stop calling process_request methods and reschedule the returned request. Once the newly returned request is performed, the appropriate middleware chain will be called on the downloaded response.
источник

AR

Andrey Rahmatullin in Scrapy
а ты это так и не прочитал
источник

AR

Andrey Rahmatullin in Scrapy
ну или прочитал, но не понял, но нам этого неизвестно
источник

AR

Andrey Rahmatullin in Scrapy
у тебя реквест бесконечно отправляется обратно в process_request потому что условие кривое
источник

AR

Andrey Rahmatullin in Scrapy
ну и если бы оно было прямое, всё равно была бы херня скорее всего
источник

A

Andrii in Scrapy
а как правильно сделать?
источник

AR

Andrey Rahmatullin in Scrapy
что именно?
источник

К

Кирилл in Scrapy
просто читай что надо возвращать из методов мидлварей )
источник

AR

Andrey Rahmatullin in Scrapy
для начала ты понимаешь что такой иф ведёт к бесконечному циклу даже когда в целом логика правильная?
источник

A

Andrii in Scrapy
что с ИФ что без, результат один же
источник

A

Andrii in Scrapy
def process_request(self, request, spider):
       new_url = 'http://archive.org/wayback/available?url=' + request.url
       request = request.replace(url=new_url)
       return request
источник