Извлечь данные из другого 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 веб-разработчик Да
Дата Центр Оперативный Да