При парсинге таблицы не видит значения ячеек [requests, lxml] - Python

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Пытаюсь получить значения ссылок на праздники с этого сайта Использую lxml, requests
Листинг программы
  1. def get_holidays(country_item):
  2. session = requests.Session()
  3. getPage = session.get(country_item['href'])
  4. pageHtml = html.fromstring(getPage.text)
  5. getAllBlock = pageHtml.cssselect(".holidayweek>table>tbody>tr>td>ul>li>a")
  6. lists = []
  7. for item in getAllBlock:
  8. href = 'http://www.calend.ru/' + item.attrib['href']
  9. title = item.text
  10. country = country_item['coutry']
Этот строка кода всегда возвращает пустой список
Листинг программы
  1. getAllBlock = pageHtml.cssselect(".holidayweek>table>tbody>tr>td>ul>li>a")
Выборка селекторов таким css "a[href^='/holidays/']" получает слишком много ссылок. Также использовал xpath, но результат не возвращает хотя в браузере все подчеркивает. Почему не возвращает селекторы при выборке, хотя точно должен возвращать ? Помогите пожалуйста решить данную проблему. Спасибо!

Решение задачи: «При парсинге таблицы не видит значения ячеек [requests, lxml]»

textual
Листинг программы
  1. import requests
  2. from lxml import html
  3. page = requests.get('http://www.calend.ru/holidays/belorus/')
  4. tree = html.fromstring(page.content)
  5. dates = [x.text for x in tree.cssselect('.holidayweek tr td:nth-child(1) > a')]
  6. names = [x.text for x in tree.cssselect('.holidayweek tr td:nth-child(2) > ul > li > a')]
  7. links = [x.get('href') for x in tree.cssselect('.holidayweek tr td:nth-child(2) a')]
  8.  
  9. for date,name,link in zip(dates, names, links):
  10.     print("{} :: {} :: {}".format(date.strip(), name.strip(), "http://www.calend.ru/"+link.strip()))

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.375 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут