Size: a a a

2020 April 12

🎅B

🎅 Austin Bluethy in Scrapy
Но с str() так не получится
источник

АП

Агент Печенька in Scrapy
🎅 Austin Bluethy
Traceback (most recent call last):
 File "D:\anaconda\lib\site-packages\scrapy\utils\defer.py", line 102, in iter_errback
   yield next(it)
 File "D:\anaconda\lib\site-packages\scrapy\spidermiddlewares\offsite.py", line 29, in process_spider_output
   for x in result:
 File "D:\anaconda\lib\site-packages\scrapy\spidermiddlewares\referer.py", line 339, in <genexpr>
   return (_set_referer(r) for r in result or ())
 File "D:\anaconda\lib\site-packages\scrapy\spidermiddlewares\urllength.py", line 37, in <genexpr>
   return (r for r in result or () if _filter(r))
 File "D:\anaconda\lib\site-packages\scrapy\spidermiddlewares\depth.py", line 58, in <genexpr>
   return (r for r in result or () if _filter(r))
 File "C:\Users\USER\scrapy_projects\pdf\pdf\spiders\spider.py", line 36, in parse_text
   pdf.output('tuto1.pdf', 'F')
 File "D:\anaconda\lib\site-packages\fpdf\fpdf.py", line 1065, in output
   self.close()
 File "D:\anaconda\lib\site-packages\fpdf\fpdf.py", line 246, in close
   self._enddoc()
 File "D:\anaconda\lib\site-packages\fpdf\fpdf.py", line 1636, in _enddoc
   self._putpages()
 File "D:\anaconda\lib\site-packages\fpdf\fpdf.py", line 1170, in _putpages
   p = self.pages[n].encode("latin1") if PY3K else self.pages[n]
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 56-61: ordinal not in range(256)
источник

🎅B

🎅 Austin Bluethy in Scrapy
ТО есть мне нужно декодить все в latin-1?
источник

АП

Агент Печенька in Scrapy
источник

🎅B

🎅 Austin Bluethy in Scrapy
Кажется я зря так ебался. Теперь всегда буду читать доку
источник

К

Кирилл in Scrapy
Да ладно
источник

🎅B

🎅 Austin Bluethy in Scrapy
Кирилл
Да ладно
Ага
источник

И

Илья in Scrapy
не могу с yield разобраться.   Есть где то пример с глубиной вложености 4-5 и разными данными для сбора? Что там после yield пишется? Как после обхода всех уровней собрать всю информацию в одном месте ?
источник

A

Andrii in Scrapy
Всем привет. Вопрос. Есть сайт событий где в разделе статистика следующее: -> 2019 год - 50 случаев класса А, 10 случаев класса Б и 5 случаев класса, -> 2018 год - 22 случая класса А , 10 случаев класса Б и 5 случаев класса, НО! есть и -> 2005 (Март) - 2 случая класса А ,, 10 случаев класса Б и 5 случаев класса,. И в разных событиях могут быть разные месяцы в годах. То есть существует около 800 возможных комбинаций. Но возможно что некоторые вообще будут пустые, как лучше построить таблицу? Перечислить все возможные варианты?
источник

A

Andrii in Scrapy
под каждый год и месяц и клас нужно свой столбик (заголовок)
источник

🎅B

🎅 Austin Bluethy in Scrapy
Илья
не могу с yield разобраться.   Есть где то пример с глубиной вложености 4-5 и разными данными для сбора? Что там после yield пишется? Как после обхода всех уровней собрать всю информацию в одном месте ?
Когда ты обходишь все уровни ты в callback пишешь название функции для парса этой страницы. В этой функции ты парсишь все данные страницы, которые тебе нужны. Затем создаешь словарь item, в который кладешь напаршенный код и пишешь item в yield, например

def parsing(self, response):
   a = response.css("a::text").getall()
   item = {
       'link': a
   }
   
   yield item
источник

AR

Andrey Rahmatullin in Scrapy
Илья
не могу с yield разобраться.   Есть где то пример с глубиной вложености 4-5 и разными данными для сбора? Что там после yield пишется? Как после обхода всех уровней собрать всю информацию в одном месте ?
после yield пишется итем или реквест
источник

B

Bulatbulat48 in Scrapy
Илья
не могу с yield разобраться.   Есть где то пример с глубиной вложености 4-5 и разными данными для сбора? Что там после yield пишется? Как после обхода всех уровней собрать всю информацию в одном месте ?
yield словарь
источник
2020 April 13

СА

Сашка Александер in Scrapy
всем привет, подскажите пожалуйста, нужно вытащить ссылку:
код: soup.find_all('a', attrs={'data-selenium' : 'listingPagingPageNext'})

из: <a class="arrowLink_3z97NuAxv9mEeMKFxP21IN" data-selenium="listingPagingPageNext" href="/c/buy/35mm-film/ci/39569/pn/2"><svg class="bhIcon" height="18" width="14"><use href="#ArrowRightDarkIcon"></use></svg></a>
источник

СА

Сашка Александер in Scrapy
запутался, с get('href') не выходит, по индексу все 'a' не вариант, также как и по классу
источник

МС

Михаил Синегубов in Scrapy
народ, не помню, спрашивал или нет.
Паук, собрал ~115 тыс айтемов.
Запись в монгу + кэш "dbm"
Система - винда

расход памяти дикий, процесс питона занимает 14-15 Гб

Есть какой профайлер питона для проверки насчет утечек памяти? Уж очень поведение похоже на то что где то "течет"....

Сейчас проскочил, интересуюсь на будущее
источник

B

Bulatbulat48 in Scrapy
Сашка Александер
всем привет, подскажите пожалуйста, нужно вытащить ссылку:
код: soup.find_all('a', attrs={'data-selenium' : 'listingPagingPageNext'})

из: <a class="arrowLink_3z97NuAxv9mEeMKFxP21IN" data-selenium="listingPagingPageNext" href="/c/buy/35mm-film/ci/39569/pn/2"><svg class="bhIcon" height="18" width="14"><use href="#ArrowRightDarkIcon"></use></svg></a>
я ниразу не юзал суп, наверное как-то так: soup.find_all(‘a[data-selenium="listingPagingPageNext”]’). Но и в ссылках он вообще есть, если просто a проверять?
источник

К

Кирилл in Scrapy
Михаил Синегубов
народ, не помню, спрашивал или нет.
Паук, собрал ~115 тыс айтемов.
Запись в монгу + кэш "dbm"
Система - винда

расход памяти дикий, процесс питона занимает 14-15 Гб

Есть какой профайлер питона для проверки насчет утечек памяти? Уж очень поведение похоже на то что где то "течет"....

Сейчас проскочил, интересуюсь на будущее
Pycharm может профилировать
Глянь где у тебя стакается что-то в коде
источник

МС

Михаил Синегубов in Scrapy
Кирилл
Pycharm может профилировать
Глянь где у тебя стакается что-то в коде
угу, спс, чет я про него не подумал....
источник

СА

Сашка Александер in Scrapy
Bulatbulat48
я ниразу не юзал суп, наверное как-то так: soup.find_all(‘a[data-selenium="listingPagingPageNext”]’). Но и в ссылках он вообще есть, если просто a проверять?
ну он тогда выведет ответ что я приводил, а мне ссылку надо, чтобы перелистнуть страничку, там еще вместо json  - json+ld
источник