Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
montanaPy
3 / 2 / 6
Регистрация: 19.01.2015
Сообщений: 124
Завершенные тесты: 1
1

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

25.02.2016, 18:40. Просмотров 677. Ответов 2
Метки нет (Все метки)

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

Спасибо!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2016, 18:40
Ответы с готовыми решениями:

'requests' and 'lxml' + beautifulsoup
Есть как бы 2 часть кода, первая авторизируется на сайте, а вторая должна собрать информацию с...

Ошибка при парсинге значения height
Привет! Разбираю пример. Как-то странно! Файл скачанный из интернета работает без ошибок (), а...

Заполнение таблицы Access при парсинге текстового документа
Доброго времени суток! Необходима помощь, есть текстовый документ с данными о плательщиках и об...

Как вставить в текст ячейки значения из других ячеек, при условии, что в тексте полно двойных ячеек?
Добрый день! Очень нужен совет знатоков. Задача: в ячейке находиться часть html-кода. В нем...

2
Jabbson
Эксперт по компьютерным сетям
3511 / 2540 / 788
Регистрация: 03.11.2009
Сообщений: 7,983
Записей в блоге: 3
25.02.2016, 20:20 2
Python
1
2
3
4
5
6
7
8
9
10
import requests
from lxml import html
page = requests.get('http://www.calend.ru/holidays/belorus/')
tree = html.fromstring(page.content)
dates = [x.text for x in tree.cssselect('.holidayweek tr td:nth-child(1) > a')]
names = [x.text for x in tree.cssselect('.holidayweek tr td:nth-child(2) > ul > li > a')]
links = [x.get('href') for x in tree.cssselect('.holidayweek tr td:nth-child(2) a')]
 
for date,name,link in zip(dates, names, links):
    print("{} :: {} :: {}".format(date.strip(), name.strip(), "http://www.calend.ru/"+link.strip()))
если нужны только ссылки - оставляйте только один лист - links
2
montanaPy
3 / 2 / 6
Регистрация: 19.01.2015
Сообщений: 124
Завершенные тесты: 1
26.02.2016, 06:59  [ТС] 3
Python
1
2
3
dates = [x.text for x in tree.cssselect('.holidayweek tr td:nth-child(1) > a')]
names = [x.text for x in tree.cssselect('.holidayweek tr td:nth-child(2) > ul > li > a')]
links = [x.get('href') for x in tree.cssselect('.holidayweek tr td:nth-child(2) a')]
Сработало! Спасибо!
0
26.02.2016, 06:59
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.02.2016, 06:59

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Значения x=0 и y=0 Для ячеек таблицы
возникла необходимость к примеру в таблицу с количеством ячеек 7х7 для каждой ячейки присвоить...

Вставить в див значения ячеек таблицы
Здравствуйте так я вставляю в див значения 2 и 4 ячейки 1-ой строки, по клику на ссылку (ссылка...

Присвоить переменным значения ячеек таблицы
Помогите плиз: как сделать так чтобы из таблицы fight в строчке где ид=$юзер находились столбцы...

Как изменить значения ячеек таблицы
Есть, к примеру, несколько таблиц, у каждой свой id, в них свои ячейки... Мы вводим, например, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.