Size: a a a

2020 March 01

AR

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

🇺L

🇺🇦 Ad Libitum in Scrapy
https://hastebin.com/ - вообще крутая вещь, узнал из фака. жаль, что нельзя хранить свои пасты
источник

AR

Andrey Rahmatullin in Scrapy
а что это?
источник
2020 March 02

🇺L

🇺🇦 Ad Libitum in Scrapy
https://hastebin.com/ugiyulades.rb
пытаюсь понять, делая runspider -o в json почему оно мне выводит вот такое, а не список всех URL с месяцами в каждом году.
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
Пытаюсь понять коллбэки, как ты и советовал
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
А, кажется дошло. Вместо get должен быть getAll
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
всё получилось. Но почему-то года идут не по порядку.  можно ли как-то отсортировать года в json?
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
https://hastebin.com/ifavebihih.rb - вот так у меня генерируется список всех URL с месяцами в году. Но я не могу понять куда мне привязать коллбэк для parse_day чтобы после того, как scrapy получила url месяца она поперла скрапить дни в нём
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
а, дошло
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
надо ещё for()
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
Доброе утро. Чтобы избавиться от \n \r \t пишут, что надо использовать unicode.strip(). Но я не могу понять как его правильно применить: response.css('h1::text').extract().unicode.strip() не работает.
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
так вообще можно, вместе с extract()? :)
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
А, всё, дошло. strip() работает с extract_first() только. логично.
источник

МС

Михаил Синегубов in Scrapy
🇺🇦 Ad Libitum
Доброе утро. Чтобы избавиться от \n \r \t пишут, что надо использовать unicode.strip(). Но я не могу понять как его правильно применить: response.css('h1::text').extract().unicode.strip() не работает.
я так понимаю, ошибку выдивает?
records = response.css('h1::text').getall()
for rec in records:
rec = rec.strip()
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
Михаил Синегубов
я так понимаю, ошибку выдивает?
records = response.css('h1::text').getall()
for rec in records:
rec = rec.strip()
Спасибо, это для меня слишком сложно пока. Я только extract() осваиваю.
источник

МС

Михаил Синегубов in Scrapy
🇺🇦 Ad Libitum
А, всё, дошло. strip() работает с extract_first() только. логично.
не, не дошло, стрип работает со строкой а не со списком, extract() все вхождения выдает, в виде списка

и да, напиши себе шпаргалку
extratc() = getall()
extract_first() = get()
у тебя методы устаревшие, могут скоро вообще их вырезать
источник

🇺L

🇺🇦 Ad Libitum in Scrapy
ок. тогда такой вопрос.
>>> response.css('div.field--name-node-post-date::text').get().strip()
'10:55   17.02.2020'

дохера пробелов между временем и датой. И вообще ее надо ручками парсить, чтобы привести в mysql date формат или что-то уже придумано до меня?
источник

МС

Михаил Синегубов in Scrapy
🇺🇦 Ad Libitum
ок. тогда такой вопрос.
>>> response.css('div.field--name-node-post-date::text').get().strip()
'10:55   17.02.2020'

дохера пробелов между временем и датой. И вообще ее надо ручками парсить, чтобы привести в mysql date формат или что-то уже придумано до меня?
ну, насчет MySQL не скажу, правда, на первый взгляд - не стандартная запись даты. Внутренние пробелы - обычно костылю решение. Хотя, может что и умное есть
источник

AR

Andrey Rahmatullin in Scrapy
🇺🇦 Ad Libitum
ок. тогда такой вопрос.
>>> response.css('div.field--name-node-post-date::text').get().strip()
'10:55   17.02.2020'

дохера пробелов между временем и датой. И вообще ее надо ручками парсить, чтобы привести в mysql date формат или что-то уже придумано до меня?
dateparser, но не знаю что такое mysql date, если это строка, то просто руками потом сгенерить из datetime
источник

AR

Andrey Rahmatullin in Scrapy
🇺🇦 Ad Libitum
всё получилось. Но почему-то года идут не по порядку.  можно ли как-то отсортировать года в json?
Порядок зависит от того как спайдер страницы обошел и обычно это не проблема, если надо сортировать то уже потом, отдельно от спайдера
источник