@Katerina92_lomova

Как спарсить одновременно заголовок и описание вакансии с хабра на питоне?

Стоит задача спарсить вакансии с хабра в соответствии с их типами.
В коде есть список слов, если которые содержит вакансия, то попадает в нужный список.
Если нет, то такие вакансии складываются в другой список.

Скажите как я могу реализовать следующее:
Если вакансия не содержит не одно из нужных слов, то спарсить в список не только её например описание , но и название вакансии, то есть ещё и другой тег со страницы?

<source lang="python">
num_of_page = 40
other_vacancies = []  # остальные вакансии будут валиться сюда
collected_data = [
  {'pattern': ['angular'], 'result': [] },
  {'pattern': ['react'], 'result': []},
  {'pattern': ['vue','js'], 'result': []}
    
]

for i in range(num_of_page):
    URL ="https://career.habr.com/vacancies?divisions[]=frontend&page=" + str(i+1)+ "&type=all"
    page = requests.get(URL)
    soup = bs(page.text, "html.parser")
    vacancies_names = soup.find_all('a', class_='vacancy-card__title-link')

    for name in vacancies_names:
        for data in collected_data:
            pattern_found = False
            if any([x in name.get_text().lower() for x in data['pattern']]):
                data['result'].append(name.get_text())
                pattern_found = True
                break
        if not pattern_found:
            other_vacancies.append(name.get_text())
</source>
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ответы на вопрос 1
@haveacess
Легко же, ну. Зачем вы вобще смотрите в DOM когда есть апиха. Надо просто включить вкладку Network в браузере и походить по страницам.
Единственное передается в заголовке запроса X CSRF Token. Но это тоже простейшим образом вытаскивается через регулярку или обычный просмотр DOM

1
2
3
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы