Есть ли способ включить OR / AND в CSS-селектор для веб-скребка - PullRequest
0 голосов
/ 02 мая 2018

То, что я пытаюсь сделать, это очистить сайт, который со временем изменил свою структуру, получив <p> ребенка от всех H2 ИЛИ H3, .contains(RESEARCHER).

В настоящее время я могу сделать это отдельно с H2 или H3, но, похоже, возникают некоторые ошибки при экспорте в .csv. Вот что я делаю:

'Researcher': response.css(".field-item.even h2:contains(RESEARCHER) + p ::text").extract(), 

'Researcher': response.css(".field-item.even h3:contains(RESEARCHER) + p ::text").extract(),

Есть ли способ объединить их в одно выражение?

1 Ответ

0 голосов
/ 02 мая 2018

Нет, лучшее, что вы можете сделать, это поместить оба селектора в одну строку с запятой между:

response.css(".field-item.even h2:contains(RESEARCHER) + p ::text, .field-item.even h3:contains(RESEARCHER) + p ::text").extract()
...