Ответы пользователя по тегу Beautiful Soup
  • Скорость парсинга, первый раз 5 минут, второй раз 1 минута, как так?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    еще есть кеш на сервере

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

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    хороший способ - запустить wget, если он выкачает весь сайт - он однопоточный, то защита там неособо
    еще фишка - прикинуться Гуглботом, поверьте на слово - оочень немногие проверяют бота, особенно если с ВПС в США парсить
    для ВК и прочих, где царствую спамеры - защита будет всегда, границы - ищите
    заголовки - см https://pypi.python.org/pypi/fake-useragent/0.1.2
    Ответ написан
    7 комментариев
  • Как правильно распарсить блок на Python?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    предобрабатывай

    ты же, наверно, это из АПИ какого-то получаешь, проверяй, что за данные приходят

    P.s. рекомендую lxml
    Ответ написан
    Комментировать
  • Python 3 requests кодировка или?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    криворукость админа вордпресса

    браузер открой - если там в таком же - все делаешь правильно
    Ответ написан
    Комментировать
  • Как правильно запарсить данные из bs4 ResultSet?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    суп - лажа
    юзай lxml

    и конкретизируй задачи - поиск подстрок или что?
    Ответ написан
  • Не работает BeautifulSoup?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    import urllib.request as urllib2
    from bs4 import BeautifulSoup
    page = urllib2.urlopen("http://www.vokrugsveta.ru/vs/").read()
    soup = BeautifulSoup(page)
    imglink = soup.find("img", {"class": "framepic"}).get('src')
    print (imglink)


    пацаны используют lxml вместо soup
    Ответ написан
  • Как вы ставите модули в Python? Как поставить этот?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    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 ("я поставил Линук и все пофиг") нельзя.
    Ответ написан
    1 комментарий