Size: a a a

2020 December 01

К

Кирилл in Scrapy
//span[contains(@class, 'subheader')]
источник

МС

Михаил Синегубов... in Scrapy
Кирилл
//span[contains(@class, 'subheader')]
не успель 😞
источник

К

Кирилл in Scrapy
Daniil Okhlopkov
ага) я ключевое слово contains тоже нагуглил, но так и не смог высказать точного заклинания. Читал инстуркцию эту https://docs.scrapy.org/en/latest/intro/tutorial.html
вот есть примеры разные https://devhints.io/xpath
источник

DO

Daniil Okhlopkov in Scrapy
спасибо всем за помощь)
источник

Ra

Ruslan aka DUDE in Scrapy
Михаил Синегубов
ээээ, а теперь выдохни, сосчитай до 10 и объясни русским языком, что за костыль и нахрена он нужен?
провел тесты и понял что костыль бесполезный, я не учел что scrapy.Selector всё заворачивает в <html><body>...</html></body>
источник

Ra

Ruslan aka DUDE in Scrapy
Михаил Синегубов
и, "костыль", как я понимаю, сооружал прям тут? ибо оно работать не будет.
да там опечатка x
источник

М

Мур in Scrapy
Джентльмены, может вы поможете сориентироваться куда копать, в документации я чёт запутался.
Суть проблемы в том, что пока пишу паука с авторизацией, через FormRequest.from_response, занимаюсь отладкой и каждый раз после того как паук заканчивает работу сессия разрывается и при следующем запуске происходит вход вновь, соответственно все это подозрительно для целевого сайта, постоянная авторизация и разлог. Пытаюсь найти как подставлять куки для того что бы пройдя авторизацию один раз, дальше, просто  аутентифицироваться, используя куки с предыдущего входа
источник

К

Кирилл in Scrapy
Мур
Джентльмены, может вы поможете сориентироваться куда копать, в документации я чёт запутался.
Суть проблемы в том, что пока пишу паука с авторизацией, через FormRequest.from_response, занимаюсь отладкой и каждый раз после того как паук заканчивает работу сессия разрывается и при следующем запуске происходит вход вновь, соответственно все это подозрительно для целевого сайта, постоянная авторизация и разлог. Пытаюсь найти как подставлять куки для того что бы пройдя авторизацию один раз, дальше, просто  аутентифицироваться, используя куки с предыдущего входа
Тебе нужно сохранять сессию при закрытии паука, а потом при открытии загружать сохраненные кукисы
источник

М

Мур in Scrapy
Кирилл
Тебе нужно сохранять сессию при закрытии паука, а потом при открытии загружать сохраненные кукисы
Понял, сейчас начну копать в этом направлении, спасибо!
источник

К

Кирилл in Scrapy
Если сайт тебя не банит за такое поведение, то не стоит париться
источник

Ra

Ruslan aka DUDE in Scrapy
есть пример
<aaa>
   <b>text in b1</b>
   <aaa>111</aaa>
</aaa>
<aaa>
   <aaa>222</aaa>
   <b>text in b2</b>
</aaa>

делаю x = selector.xpath('/html/body')
получаю тожесамое но без тега html
делаю x = x.xpath('/body/aaa') - ничего
делаю x = x.xpath('/body/aaa') - ничего

ЧЯДНТ

зато x = x.xpath('aaa') почемуто выдает два вхождения (те что в корне body)
источник

М

Мур in Scrapy
Кирилл
Если сайт тебя не банит за такое поведение, то не стоит париться
Раз на раз не приходится лучше пересираховаться
источник

К

Кирилл in Scrapy
Ruslan aka DUDE
есть пример
<aaa>
   <b>text in b1</b>
   <aaa>111</aaa>
</aaa>
<aaa>
   <aaa>222</aaa>
   <b>text in b2</b>
</aaa>

делаю x = selector.xpath('/html/body')
получаю тожесамое но без тега html
делаю x = x.xpath('/body/aaa') - ничего
делаю x = x.xpath('/body/aaa') - ничего

ЧЯДНТ

зато x = x.xpath('aaa') почемуто выдает два вхождения (те что в корне body)
источник

DO

Daniil Okhlopkov in Scrapy
а есть какой-нибудь простой способ скачать данные в виде словаря из последовательности  тегов dd,dt, dd,dt ... ?
источник

S

SoHard 🎄 in Scrapy
Daniil Okhlopkov
а есть какой-нибудь простой способ скачать данные в виде словаря из последовательности  тегов dd,dt, dd,dt ... ?
да, написать селекторы и записать данные в словарь
источник

DO

Daniil Okhlopkov in Scrapy
SoHard 🎄
да, написать селекторы и записать данные в словарь
да, я понимаю, но это какой-то ненадежный способ: придется каждый нечетный элемент считать за key, а четный - за value.
источник

К

Кирилл in Scrapy
Daniil Okhlopkov
а есть какой-нибудь простой способ скачать данные в виде словаря из последовательности  тегов dd,dt, dd,dt ... ?
Какая-то корявая верстка. В dt должны быть тайтлы, а в dd описание
источник

К

Кирилл in Scrapy
Daniil Okhlopkov
да, я понимаю, но это какой-то ненадежный способ: придется каждый нечетный элемент считать за key, а четный - за value.
Каждый dd считать за key и следующий dt за значение. Хоть не факт что на 1 dd приходится только один dt
источник

A

Andrii in Scrapy
Нужно еще один канал xpath for beginners
источник

G

Georgiy in Scrapy
Daniil Okhlopkov
а есть какой-нибудь простой способ скачать данные в виде словаря из последовательности  тегов dd,dt, dd,dt ... ?
Примерно так (предполагая, что dt - titles, dd - descriptions):
       dl_data = {}
       active_key = ""
       for tag in response.css("dl dt, dl dd"):
           if tag.root.tag == "dt":
               active_key = tag.css("::text").get()
           elif tag.root.tag == "dd":
               dl_data[active_key] = tag.css("::text").get()
источник