• Клик по координатам в Selenium Webdriver Python?

    @Denis9999 Автор вопроса
    надо было добавить perform();

    рабочий вариант:
    actions = ActionChains(driver)
    actions.move_by_offset(100, 100).perform()
    time.sleep(5)
    actions.click().perform()
    Ответ написан
    Комментировать
  • Как преобразовать "[a,b,c]" в [a,b,c]?

    MinTnt
    @MinTnt
    exec("s = [1,2,3]")
    
    s = eval("[1,2,3]")
    Ответ написан
    Комментировать
  • Как найти пересечение строки и столбца таблицы?

    @dmshar
    Если вы поместили вопрос под тегом Python, то и ответ будет касаться этого языка.
    В Python есть чудесная библиотека Pandas - в аккурат для представления ваших данных.
    Если бы дали себе труд привести в вопросе - как того требуют (и не зря) правила сайта - не картинку, а набранную вами табличку (хотя-бы в EXCEL) я бы дал себе труд написать код, как такие данные "укладываются" в DataFrame. А раз нет - ну разберетесь сами, куда смотреть я сказал.
    После того, как DataFrame создан значение на пересечении столбца и строки ищется элементарно, в одну команду, например так:
    df.ef[(df.Свыше==65) & (df.До==80)]
    Ответ написан
    Комментировать
  • Как преобразовать строку в имя переменной?

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

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

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

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

    @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
    Ответ написан
    Комментировать