Size: a a a

2020 December 01

D

Dmitry in Scrapy
Andrey Rahmatullin
treq асинхронно, но ты его из коллбэка нормально ждать не сможешь
А вот это почему, кстати?
источник

AR

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

D

Dmitry in Scrapy
В смысле? await treq.get и погнали
источник

AR

Andrey Rahmatullin in Scrapy
какой await в колбэке
источник

AR

Andrey Rahmatullin in Scrapy
ну т.е. оно работать будет, и даже проца не сожрёт как requests
источник

AR

Andrey Rahmatullin in Scrapy
но поскольку ему там делается ожидание всех результатов перед их обработкой, это всё-таки не совсем то
источник

D

Dmitry in Scrapy
Сорри, я не понял в чем проблема. Этих же колбэков может миллион выполняться как-бы параллельно и они не замедляют основной процесс парсинга - тогда какая разница, что в них происходит? Даже если они там чего-то ждут, основную ветку парсинга это не стопорит.
источник

AR

Andrey Rahmatullin in Scrapy
да
источник

AR

Andrey Rahmatullin in Scrapy
просто я не люблю этот костыль, которым сейчас сделан await в колбэках :)
источник

D

Dmitry in Scrapy
Видимо, неспроста :) А при прочих равных надо стараться избегать asyncio модулей и искать twisted аналоги, так как они более native для скрапи, или без разницы? Например, treq vs aiohttp
источник

AR

Andrey Rahmatullin in Scrapy
неспроста потому что некрасивый хак
источник

AR

Andrey Rahmatullin in Scrapy
ещё и поведение меняет
источник

AR

Andrey Rahmatullin in Scrapy
если без asyncio реактора можно обойтись - лучше наверно обойтись, так слоёв меньше
источник

AR

Andrey Rahmatullin in Scrapy
если он уже подключен, это treq будет в asyncio заворачиваться, а не наоборот, тогда лучше аио
источник

D

Dmitry in Scrapy
Понятно, спасибо!
источник

DO

Daniil Okhlopkov in Scrapy
Daniil Okhlopkov
ага, здраствуйте. Это я дефолтным chromedriver + selenium открыл
Оказалось, что почему-то USER_AGENT из settings.py не пробрасывается модулем scrapy-selenium в сам селениум.
источник

К

Кирилл in Scrapy
Ну, потому что там открывается реальный user agent)
источник

DO

Daniil Okhlopkov in Scrapy
Кирилл
Ну, потому что там открывается реальный user agent)
ну и в этом реальном и написано "я хедлес браузер, баньте меня"
источник

DO

Daniil Okhlopkov in Scrapy
в итоге эта магия в settings.py помогла. Но хотелось бы, чтобы это из коробочки шло.
источник

DO

Daniil Okhlopkov in Scrapy
Daniil Okhlopkov
в итоге эта магия в settings.py помогла. Но хотелось бы, чтобы это из коробочки шло.
потому что так не получится, например, если я захочу юзать scrapy_fake_useragent
источник