Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос
deeppsycoder

deeppsycoder

клинический психолог
  • 1
    вклад
  • 1
    вопрос
  • 11
    ответов
  • 9%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Как преобразовать строку в имя переменной?

    mkone112 @mkone112
    Начинающий питонист.
    Да что вы все пристали? Ненужно, ненужно... Интересно же!
    globals().update({f'a{i}':i for i in range(10)})
    Ответ написан 30 дек. 2020
    Комментировать
    Нравится 3 Комментировать
  • Почему непопулярна функция активации softsign?

    begemot_sun
    Сергей @begemot_sun
    Программист в душе.
    Непопулярность идет от-того что это ломаная функция. И производная от неё в точке 0 не определена.
    Сейчас для обучения НС принято использовать метод обратного распространения ошибки, который использует производную для корректировки весов. Соответственно данный вид функции создает проблемы с вычислениями.
    Ответ написан 09 дек. 2020
    1 комментарий
    Нравится 2 1 комментарий
  • Защита социальных сетей или как обходить блокировку парсинга?

    kocherman
    kocherman @kocherman
    Парсить FB надо на мощных виртуалках, на каждой виртуалке по 5-10 запущенных Chrome, никаких selenium. Переписываешь скрипты на Userscript. Много IP достигается покупкой premium-proxy-list. Однотипный поиск делать бесполезно. Надо смотреть фото, читать комменты, соблюдать рандомные задержки. Изредка ставить лайки. Не забывай эмулировать разные разрешения экрана и разные размеры окон.
    Ответ написан 27 авг. 2020
    8 комментариев
    Нравится 6 8 комментариев
  • Защита социальных сетей или как обходить блокировку парсинга?

    xmoonlight
    xmoonlight @xmoonlight
    https://sitecoder.blogspot.com
    Помимо того, что уже сказано:
    1. Парсить нужно не перебором линков в списке, а "вглубину" связанных линков.
    После, сортировать их и замерять прогресс спарсенных данных в нужном списке - уже у себя.
    2. Парсинг-профиль: на каждый акк соц.сети свой User-Agent (мобильный!), который должен быть постоянен и не более 5-ти разных ip одного города в час, не более 20-30ти разных ip одного города (или региона/страны, что хуже) в сутки: т.е. они должны повторяться как при перемещении по одному городу с мобилой в строгом порядке по "цепочке" и продолжительности (интервала времени) их использования.
    3. Парсить только отображённые линки, а не то, что в коде страницы.
    4. Соблюдать те же тайминги, что и при ручной навигации.
    5. Полностью и корректно! имитировать весь пользовательский ввод текста в поля и навигацию по линкам с помощью тача: соблюдать процент ошибочного тача как при обычном использовании.
    Ответ написан 28 авг. 2020
    Комментировать
    Нравится 2 Комментировать
  • Как разделить данные в строке Pandas?

    LazyTalent
    Дмитрий @LazyTalent
    Data Engineer, Freelancer
    >>> import pandas as pd
    >>> df = pd.DataFrame([['123', 'Anime|Action'], ['321', 'Adventure|Comedy']], columns=['title', 'genre'])
    >>> df
      title             genre
    0   123      Anime|Action
    1   321  Adventure|Comedy
    >>> df['genre'] = df['genre'].apply(lambda x: x.split('|'))
    >>> df
      title                genre
    0   123      [Anime, Action]
    1   321  [Adventure, Comedy]
    >>> df.explode('genre')
      title      genre
    0   123      Anime
    0   123     Action
    1   321  Adventure
    1   321     Comedy

    pandas.DataFrame.explode
    Ответ написан 01 авг. 2020
    Комментировать
    Нравится 3 Комментировать
  • Как разделить данные в строке Pandas?

    PavelMos @PavelMos
    Имхо целесообразнее сделать атрибуты вроде "являяется ли комедией ? да/нет (1/0)", для этого ввести доп. столбцы. Если дублировать строки, то также сильно увеличится размер датафрейма.

    import pandas
    df1=pandas.DataFrame.from_records((
        (1, 'xxx', 'Adv|Ani|Doc'),
        (2, 'yyy', 'Adv|Doc'),
        (3, 'zzz', 'Comedy|Doc')),
    columns=['movieId','title','genres'])
    genres_list=('Adv','Ani','Doc','Comedy')
    for i in genres_list:
        df1[i]=[0]*len(df1) #сначала прописать всем нули
    print (df1)
    for idx, row in df1.iterrows():
        c=(row[2])
        l=c.split('|')
        for g in genres_list:
            if g in l:
                df1.loc[idx, g]=1
    print (df1)
       movieId title       genres  Adv  Ani  Doc  Comedy
    0        1   xxx  Adv|Ani|Doc    0    0    0       0
    1        2   yyy      Adv|Doc    0    0    0       0
    2        3   zzz   Comedy|Doc    0    0    0       0
       movieId title       genres  Adv  Ani  Doc  Comedy
    0        1   xxx  Adv|Ani|Doc    1    1    1       0
    1        2   yyy      Adv|Doc    1    0    1       0
    2        3   zzz   Comedy|Doc    0    0    1       1
    Ответ написан 01 авг. 2020
    Комментировать
    Нравится 2 Комментировать
Оценили как «Нравится»
Самые активные сегодня
  • Василий Банников
    • 9 ответов
    • 0 вопросов
  • yarkov
    Алексей Ярков
    • 8 ответов
    • 1 вопрос
  • ThunderCat
    ThunderCat
    • 8 ответов
    • 0 вопросов
  • CityCat4
    CityCat4
    • 8 ответов
    • 0 вопросов
  • Jump
    АртемЪ
    • 7 ответов
    • 0 вопросов
  • w3bsmes
    Alice
    • 7 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации