Извлечь данные из другого URL и добавить ответ в список, используя lxml

Я написал скрипт для сохранения списка заданий в файл.html.

Код является:

from lxml import html
import requests

page = requests.get('https://www.fasthosts.co.uk/careers/current-vacancies')

content = html.fromstring(page.content)

Vacancies = content.xpath('//h1[@class="featuredvacancy__title featuredvacancy__title--invert grid-16 alpha"]/text()')

f = open('scrapevacancy.html', 'w')
f.write('<br>'.join(map(str, Vacancies)))
f.close

Тем не менее, мне также нужен скрипт, чтобы получить доступ к каждому URL для данного задания, проверить, есть ли кнопка "Применить сейчас" и добавить ответ к каждому результату в scrapevacancy.html.

Это вообще возможно?

1 ответ

Решение
from lxml import html
import requests

page = requests.get('https://www.fasthosts.co.uk/careers/current-vacancies')
content = html.fromstring(page.content)
Vacancies = content.xpath('//h1[@class="featuredvacancy__title featuredvacancy__title--invert grid-16 alpha"]/text()')
f = open('scrapevacancy.html', 'w')
li = [a.attrib['href'] for a in content.xpath('//a[@class="button button__primary featuredvacancy__button"]')]
i = 0
for l in li:
    p = requests.get('https://www.fasthosts.co.uk/'+l)
    c = html.fromstring(p.content)
    apply = c.xpath('//a[@class="button button__primary button--dtfull"]')
    if apply:
        f.write(str(Vacancies[i]) + ' Yes <br/>')
    else:
        f.write(str(Vacancies[i]) + ' No <br/')
    i=i+1
f.close

Выходной файл

Разработчик (Java/Python) Да
Ведущий инженер по обеспечению качества Да
Старший финансовый бухгалтер - FTC до 12 месяцев Да
Сотрудник отдела кадров Да
Администратор отдела кадров и обучения Да
Front-End веб-разработчик Да
Дата Центр Оперативный Да

Другие вопросы по тегам