Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Data Mining
  • » Вытащить с сайта Жанры фильмов с помощью grab или регулярок [RSS Feed]

#1 Авг. 24, 2016 15:54:51

KangarooJack
Зарегистрирован: 2016-08-11
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить с сайта Жанры фильмов с помощью grab или регулярок

Здравствуйте, помогите пожалуйста придумать каким образом вытащить жанры с сайта https://my-hit.org/film/ah/ (май-хит.ру), через xpath вытащить не могу так как там нет подходящего класа, думал как нибудь вытащить отсюда но понял что не рационально - должен же быть нормальный способ

 <ul class="list-unstyled">
<li>
<b>Жанр:</b>
<a href="/film/ah/">Ужасы</a>
,
<a href="/film/ai/">Триллер</a>
,
<a href="/film/aj/">Детектив</a>
.
</li>
<li>
вот где хранятся жанры, если что жанров может быть от 1 до 4

Офлайн

#2 Авг. 25, 2016 01:42:50

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Вытащить с сайта Жанры фильмов с помощью grab или регулярок

 >>> import requests
>>> from lxml import html
>>> 
>>> url = "https://my-hit.org/film/ah/"
>>> doc = html.fromstring(requests.get(url).content)
>>> for i in doc.xpath('//ul[@class="nav nav-list"]')[1].xpath('li')[2:]:
...     a = i.xpath('a')
...     if not a:
...         break
...     print i.text_content().strip(), a[0].get('href')
... 
Биография /film/ah-av/
Боевик /film/ab-ah/
Вестерн /film/ah-az/
Военный /film/ah-at/
Детектив /film/ah-aj/
Детский /film/a2-ah/
Документальный /film/ag-ah/
Драма /film/ad-ah/
Исторический /film/ah-aq/
Комедия /film/a6-ah/
Криминал /film/af-ah/
Мелодрама /film/ah-al/
Мистика /film/ah-ak/
Музыка /film/a8-ah/
Мультфильм /film/a9-ah/
Мюзикл /film/ac-ah/
Приключения /film/a1-ah/
Психологический /film/a1b-ah/
Разное /film/a2k-ah/
Романтический /film/a18-ah/
Семейный /film/a3-ah/
Спорт /film/ah-ap/
Триллер /film/ah-ai/
Фантастика /film/aa-ah/
Фэнтези /film/a7-ah/



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Авг. 25, 2016 12:07:17

KangarooJack
Зарегистрирован: 2016-08-11
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить с сайта Жанры фильмов с помощью grab или регулярок

Спасибо, но я наверное не так выразился, я хотел получить жанры конкретного фильма, типа
Тихий приют / Sіlеnt Rеtrеаt
Жанр: Ужасы, Триллер, Детектив.


Не забывай меня / Forget Me Not
Жанр: Ужасы, Триллер, Мелодрама.

Офлайн

#4 Авг. 25, 2016 12:37:25

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Вытащить с сайта Жанры фильмов с помощью grab или регулярок

 # -*- coding: utf-8 -*-
import requests
from lxml import html
url = "https://my-hit.org/film/ah/"
doc = html.fromstring(requests.get(url).content)
for i in doc.xpath(
        '//div[@id="film-list"]/div[@class="row"]/div[@class="col-xs-9"]'):
    t = i.find('b/a')
    print t.get('href'), t.text_content(),
    for i in i.xpath('ul/li[1]/a'):
        print i.text_content(),
    print



————————————————
-*- Simple is better than complex -*-

Офлайн

#5 Авг. 25, 2016 13:06:42

KangarooJack
Зарегистрирован: 2016-08-11
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Вытащить с сайта Жанры фильмов с помощью grab или регулярок

Спасибо, лови плюс))

Офлайн

  • Начало
  • » Data Mining
  • » Вытащить с сайта Жанры фильмов с помощью grab или регулярок [RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version