scrapy_python | Unsorted

Telegram-канал scrapy_python - Scrapy

1045

Чат создан чтобы делиться опытом о Scrapy/Python и другими парсинг технологиями. Вежливость и уважение к другим участникам группы. Троллинг не приветствуется. FAQ: https://github.com/bulatbulat48/ru-scrapy-python Работа: t.me/scrapy_jobs

Subscribe to a channel

Scrapy

и соответственно блокировок

Читать полностью…

Scrapy

Используя китайские серваки ВПН 😁

Читать полностью…

Scrapy

Не забывай. Что в плане блокировка и обхода блокировка они чуть ли не в перешли планеты все 😁

Читать полностью…

Scrapy

я предполагаю что там популярны локальные аля «зеркала» забугорных сайтов, до которых без впн не дойти

Читать полностью…

Scrapy

Тупо прикиньте удельный вес по количеству населения 😂

Читать полностью…

Scrapy

Там грубо примерно в 10 раз больше население, в 10 раз больше (или в 100?) бизнесов и тп

Читать полностью…

Scrapy

Ну, как минимум, большая ориентированность на интернет технологии. Всякие магазины, социалки.
Это мое ИМХО
И кто сказал, что в других странах он не популярен?

Читать полностью…

Scrapy

I won't. I buy LinkedIn cookie accounts in bulk.

Читать полностью…

Scrapy

Can someone provide me with LinkedIn cookie account?

Читать полностью…

Scrapy

you can write english

Читать полностью…

Scrapy

оставлю, для справки, как (наверное) подобный код переводить на скрапи 2.13+:

    async def parse(self, response):
def in_thread():
self.logger.info("!!in_thread")
return "ok"

self.logger.info("!!begin")
result = await asyncio.to_thread(in_thread)
self.logger.info("!!result: %s", result)
self.logger.info("!!end")

Читать полностью…

Scrapy

ну или воткните return [] в свои но-оп колбэки, то же самое будет

Читать полностью…

Scrapy

не починим
ваш колбэк это по сути функция, возвращающая Deferred[None], и этот None попадает туда, где код скрапи ждёт итерейблы
вам придётся зарыться во внутренности в районе Scraper.call_spider() и iterate_spider_output(), найти что там попадало в 2.12 (обратите внимание что в 2.12 код дебажить практически невозможно, потому что цепочки колбэков), понять как сделать так же в мастере, и доказать нам что это багфикс
успехов!

Читать полностью…

Scrapy

если это работало после 2.0 то сразу надо было на async def писать
до 2.0 это работать не могло кажется

Читать полностью…

Scrapy

ну короче это никогда не декларировалось и не тестировалось

Читать полностью…

Scrapy

и китайские технологии обхода)

Читать полностью…

Scrapy

да мы тоже не отстаем💪💪💪💪

Читать полностью…

Scrapy

или как раз таки для составления блеклистов/вайтлистов, чтоб весь трафик через впн не гонять

Читать полностью…

Scrapy

ну, для условного фастапи не так много ресурсов на китайском
по крайней мере в поиске гх чтоб до чего то китайского дойти надо полисать, а для scrapy чуть ли не на первой странице много что на китайском/с переводом на китайский

Читать полностью…

Scrapy

Во во.. тока хотел написать

Читать полностью…

Scrapy

в гитхабе просто очень много чего на китайском именно со scrapy

Читать полностью…

Scrapy

интересно, почему в китае так жоско парсинг популярен

Читать полностью…

Scrapy

What is the problem with doing it yourself?

Читать полностью…

Scrapy

че, че - ну, не знает человек русского...
ты по китайски попробуй без ошибок написать :)

Читать полностью…

Scrapy

Кто-нибудь продает аккаунты cookie?

Читать полностью…

Scrapy

так-то это скорее всего iterate_spider_output() + дефереды, имеющийся сейчас там код мне не нравится
но это опять же последствия того что дефереды из колбэков нельзя было возвращать ни до ни после 2.0

Читать полностью…

Scrapy

я за полчаса не нашёл, а я этот код рефакторил в этом году

Читать полностью…

Scrapy

@wrar42, дополняю: почти работает inlineCallbacks на скрапи 2.13

from scrapy import Spider
from twisted.internet.defer import inlineCallbacks
from twisted.internet.threads import deferToThread


class TestSpider(Spider):
name = "test"
start_urls = ["data:,"]

custom_settings = {
"TWISTED_REACTOR": "twisted.internet.asyncioreactor.AsyncioSelectorReactor"
}

@inlineCallbacks
def parse(self, response):
def in_thread():
self.logger.info("!!in_thread")
return "ok"

self.logger.info("!!begin")
result = yield deferToThread(in_thread)
self.logger.info("!!result: %s", result)
self.logger.info("!!end")
# return ()


Паук выше работает на скрапи 2.12 без ошибок. На скрапи 2.13 дает ошибку:

Traceback (most recent call last):
File "[redacted]\site-packages\scrapy\utils\defer.py", line 343, in iter_errback
yield next(it)
~~~~^^^^
File "[redacted]\site-packages\scrapy\utils\python.py", line 369, in __next__
return next(self.data)
File "[redacted]\site-packages\scrapy\utils\python.py", line 369, in __next__
return next(self.data)
File "[redacted]\site-packages\scrapy\core\spidermw.py", line 167, in process_sync
yield from iterable
File "[redacted]\site-packages\scrapy\spidermiddlewares\base.py", line 58, in process_spider_output
for o in result:
^^^^^^
File "[redacted]\site-packages\scrapy\core\spidermw.py", line 167, in process_sync
yield from iterable
File "[redacted]\site-packages\scrapy\spidermiddlewares\base.py", line 58, in process_spider_output
for o in result:
^^^^^^
File "[redacted]\site-packages\scrapy\core\spidermw.py", line 167, in process_sync
yield from iterable
File "[redacted]\site-packages\scrapy\spidermiddlewares\base.py", line 58, in process_spider_output
for o in result:
^^^^^^
File "[redacted]\site-packages\scrapy\core\spidermw.py", line 167, in process_sync
yield from iterable
File "[redacted]\site-packages\scrapy\spidermiddlewares\depth.py", line 59, in process_spider_output
yield from super().process_spider_output(response, result, spider)
File "[redacted]\site-packages\scrapy\spidermiddlewares\base.py", line 58, in process_spider_output
for o in result:
^^^^^^
File "[redacted]\site-packages\scrapy\core\spidermw.py", line 167, in process_sync
yield from iterable
TypeError: 'NoneType' object is not iterable


Если вернуть iterable, ошибок нет. Будет здорово, если почините.

Читать полностью…

Scrapy

Вот сейчас и пытаюсь на асинкио перейти

Читать полностью…

Scrapy

Ну, батенька, лень она такая...

Читать полностью…
Subscribe to a channel