Ответы пользователя по тегу lxml
  • Как достать данные?

    angru
    @angru
    Никогда не приходилось парсить такие сайты, не завидую вам.
    Как вам уже советовали откройте исходник странички, там немного другая струстура, например нет tbody.
    Также корневой элемент это html, так что его не надо указывать в xpath.

    У меня получился тот еще говнокод:

    import lxml.html as html
    import requests
    from lxml import etree
    from lxml.html import HTMLParser
    
    
    info = {}
    r = requests.get("http://www.world-art.ru/animation/manga.php?id=501")
    
    if r.ok:
        tree = etree.fromstring(r.text, parser=HTMLParser())
    
        info["name"] = tree.xpath("body/table/tr[1]/td/center/table[7]/tr/td/table/tr/td[5]/table[2]/tr/td[3]/font[1]/b")[0].text
        info["year"] = tree.xpath("body/table/tr[1]/td/center/table[7]/tr/td/table/tr/td[5]/table[2]/tr/td[3]/font[2]")[0].text
        info["name1"] = str(etree.tostring(tree.xpath("body/table/tr[1]/td/center/table[7]/tr/td/table/tr/td[5]/table[2]/tr/td[3]")[0])).split('<br/>')[1]
    
        print(info)
    Ответ написан
    Комментировать
  • Как спарсить генерируемую ссылку в Python?

    angru
    @angru
    я как-то уже отвечал на подобный вопрос, на мой взгляд такой подход проще и дешевле, чем заморачиваться с selenium/pyv8/phantomjs/etc
    Ответ написан
    4 комментария
  • Парсер на Python 3.0+?

    angru
    @angru
    Пока не портировали scrapy, у меня стандартная связка requests+lxml+gevent(если по скорости упираюсь).

    Конечно вместо gevent в Python3 из коробки есть asyncio, но все никак руки не дойдут разобраться.

    P.S. На pypi написано, что grab - "Python 3 ready"
    Ответ написан
    Комментировать