1. Python / Говнокод #11761

    −97

    1. 1
    2. 2
    3. 3
    4. 4
    container = html.findAll('div', {'class': 'pageBlock'})[2]
    script = container.find('script').string.split('\n')
    picstr = script[2].strip().replace('var pictures = ', '').replace(';', '').replace('url:', '"url":').replace('w:', '"w":').replace('h:', '"h":')
    pictures = loadjson(picstr)

    Чего только не сделаешь, чтобы распарсить криво сверстанную страницу.

    Запостил: Miketsukami, 13 Сентября 2012

    Комментарии (3) RSS

    • BeautifulSoup?
      Хотя да, извраааат.
      Ответить
      • Сам-то Красивый Суп очень мил, но суть в том, что сайт, который я парсил, размечен жутко, а нужные мне данные в JS-объекте в инлайновом скрипте в теле страницы. Даже не JSON.
        Ответить
        • Суп может и мил, но документация на сайте устарела.
          Когда суп потребовался, чтобы выдрать текст из онлайн библиотеки с вырвиглазной версткой, мне пришлось играть в веселую игру "угадай новое название метода".
          Ответить

    Добавить комментарий