Ответы пользователя по тегу lxml
  • Как получить текст data-url в теге a?

    dimonchik2013
    @dimonchik2013
    ...нечеловечески он пел, нечеловечески танцуя...
    вместо
    text()
    @data-url
    Ответ написан
  • Как достать текст из самого вложенного элемента html (lxml lib)?

    dimonchik2013
    @dimonchik2013
    ...нечеловечески он пел, нечеловечески танцуя...
    если уверен, что текст только в итоговом вложенном
    tree = html.fromstring(HTMLstring)
    for line in tree.xpath('.//span[@class="ocr_line"]'):
        for item in line.xpath('.//text()'):
            print(item)


    иначе - целься в текст

    tree = html.fromstring(HTMLstring)
    for line in tree.xpath('.//span[@class="ocr_line"]'):
        for item in line.xpath('.//text()[contains(.,"A")]'): # crAzy
            print(item)
        for item in line.xpath('.//text()[contains(.,"E")]'): # English
            print(item)
    Ответ написан
  • Как работать с xpath в lxml Python?

    dimonchik2013
    @dimonchik2013
    ...нечеловечески он пел, нечеловечески танцуя...
    вот такое, с номерами
    div[1] tr[2]
    плохая практика, нужно уметь без них
    это во вторых

    а во первых, где ты в коде view-source:myip.ru DOM дерево нашел?
    там же сплошной JS
    Ответ написан
  • Как достать данные?

    dimonchik2013
    @dimonchik2013
    ...нечеловечески он пел, нечеловечески танцуя...
    скачай файл на локальный и внимательно прочитай статью и видео, это изменит твой подход
    prostoitblog.ru/xpath-i-css/kak-sostavlyat-xpath-i...

    писать пути вида
    html/body/table/tbody/tr[1]/td/center/table[7]/tbody/tr/td/table/tbody/tr/td[5]
    очень плохой признак - одно изменение на странице/ в таблице, и вся нумерация идет лесом

    учись составлять выражения по типу регекспов: строить путь, который совпадет на твоем участке
    Ответ написан
  • Как вы ставите модули в Python? Как поставить этот?

    dimonchik2013
    @dimonchik2013
    ...нечеловечески он пел, нечеловечески танцуя...
    1) ставить рекомендую из PyCharm, в целом все то же самое, зависимости он тоже подтягивает, но устроено посимпатичнее (например на 2.7 32bit этот newspaper поставился без вопросов одним кликом)

    2) некоторые модули зависят от других модулей, и, конечно, скачивают их при установке через pip, но не всегда могут поставить. Тогда нужно смотреть в логи и ставить эти зависимости вручную/непосредственно (тоже из PyCharm, но разбирать индивидуально, почему какая не поставилась - например, не скачалась или еще что)

    3) и, наконец, и зависимости из п.2 и сами модули могут зависить от компиляции C++ ного кода. Тут, как правило, будет засада: иногда он сходу-то и под Linux не собирается ( потому что уже в C++ коде есть зависимости, разрядность та же)), ну а под Windows совсем мрачно: тут на помощь приходят готовые инсталляторы, которые уже содержат скомпилированные Dll ки, ставятся они инсталлером, как правило, и после установки вполне себе видны в PyCharm, после чего можно смело ставить зависящие от них.

    Исходя из п.3 вы должны понимать, что шансы поставить модуль, зависящий от Сишного кода, прямо пропорциональны Вашему умению пользоваться Гуглом или Вашему опыту в C компилировании. Говоря проще - если инсталлятор не найдете - поставить нереально.

    Например, PyCurl для 64 битной винды существует только версии 7.19, а последний - 7.19.5, разница на деле огромна - последний поддерживает уникод, а первый нет, в итоге не работает нормально, например, GrabLib. Также практически нет под третий питон некоторых старых компилирующихся (по-моему, SciPy только под 2,7 и т.п.). Также под Винду просто нет некоторых новомодных, например, aiohttp (этот может и есть, но вот связанных с ним точно нет, т.е. особо с асихроном не поиграете). Популярный lxml отсутствует под 64 бита и т.д.

    Поэтому использовать Linux вам придется. Оригинально "совместимость" решают в Kivy - под Винду дают скачать виртуалку с Линуксом. Можетее от нее и оттолкнуться, разрядность только проверьте.

    Примерно так же пишет/рассказывает автор Python the hard way - у него в первых уроках ставится Виртуалка, и дальше все на ней.

    Но! Не забывайте, что Python это и GUI приложения ( и игры), а их аудитория живет на Windows, поэтому проблему нужно знать со всех сторон, и отказываться от Windows ("я поставил Линук и все пофиг") нельзя.
    Ответ написан