Size: a a a

2021 June 03

AR

Andrey Rahmatullin in Scrapy
print() так не печатает
источник

AR

Andrey Rahmatullin in Scrapy
это pprint.pprint  скорее
источник

AR

Andrey Rahmatullin in Scrapy
и он, да, режет строки по пробелам
источник

MZ

Marsel Ziatdinov in Scrapy
def parse_news(self, response, **kwargs):
       loader = ItemLoader(item=CompetitorsNewsItem(), selector=response)

       published_date = kwargs.get('published_date', None)

       if published_date <= self.limit_published_date:
           self.completed = True
           return

       loader.add_value('from_site', self.name)
       loader.add_value('published_date', published_date)
       loader.add_css('title', 'div.title')
       loader.add_value('href', response.url)
       loader.add_css('text', 'div.content-blocks')

       self.lst.append(loader.load_item())

       print(loader.load_item())    def parse_news(self, response, **kwargs):
       loader = ItemLoader(item=CompetitorsNewsItem(), selector=response)

       published_date = kwargs.get('published_date', None)

       if published_date <= self.limit_published_date:
           self.completed = True
           return

       loader.add_value('from_site', self.name)
       loader.add_value('published_date', published_date)
       loader.add_css('title', 'div.title')
       loader.add_value('href', response.url)
       loader.add_css('text', 'div.content-blocks')

       self.lst.append(loader.load_item())

       print(loader.load_item())    def parse_news(self, response, **kwargs):
       loader = ItemLoader(item=CompetitorsNewsItem(), selector=response)

       published_date = kwargs.get('published_date', None)

       if published_date <= self.limit_published_date:
           self.completed = True
           return

       loader.add_value('from_site', self.name)
       loader.add_value('published_date', published_date)
       loader.add_css('title', 'div.title')
       loader.add_value('href', response.url)
       loader.add_css('text', 'div.content-blocks')

       self.lst.append(loader.load_item())

       print(loader.load_item())    def parse_news(self, response, **kwargs):
       loader = ItemLoader(item=CompetitorsNewsItem(), selector=response)

       published_date = kwargs.get('published_date', None)

       if published_date <= self.limit_published_date:
           self.completed = True
           return

       loader.add_value('from_site', self.name)
       loader.add_value('published_date', published_date)
       loader.add_css('title', 'div.title')
       loader.add_value('href', response.url)
       loader.add_css('text', 'div.content-blocks')

       self.lst.append(loader.load_item())

       print(loader.load_item())
источник

AR

Andrey Rahmatullin in Scrapy
а, так это итем, а не дикт
источник

MZ

Marsel Ziatdinov in Scrapy
источник

MZ

Marsel Ziatdinov in Scrapy
ну да. С диктом всё как обычно, а с итемом перенос строки
источник

AR

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

AR

Andrey Rahmatullin in Scrapy
этот чат прям хорошо показывает как важно отличать содержимое от представления
источник

MZ

Marsel Ziatdinov in Scrapy
То есть он содержимое не меняет, а можно как-то отключить эту штуку? Консоль сильно быстро забивается
источник

AR

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

MZ

Marsel Ziatdinov in Scrapy
Я ещё не научился/не использовать логи
источник

AR

Andrey Rahmatullin in Scrapy
отключить pformat в Item.__repr__ - нет
источник

AR

Andrey Rahmatullin in Scrapy
можно отключить вывод итемов, конечно
источник

AR

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

AR

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

AR

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

AR

Andrey Rahmatullin in Scrapy
а для этого достаточно знать что питон строковые литералы клеит
источник

MZ

Marsel Ziatdinov in Scrapy
Спасибо за помощь, добрые люди) сейчас стало понятно,
источник

G

Georgiy in Scrapy
Можно также установить в settings LOG_LEVEL='INFO'
Тогда в логах в основном будут только записи c уровнем INFO и выше (WARNING, ERROR ,CRITICAL).
В основном это будут записи вида: INFO[scrapy.extensions.logstats] Crawled x pages (at x pages/min), scraped x items (at x items/min).
В таком случае записи в которых выводятся айтемы целиком (с уровнем DEBUG) - выводится в консоль не будут.
источник