как удалить квадратные скобки из заголовка user agent?

#python #selenium #web-scraping #selenium-chromedriver #user-agent

#python #селен #веб-очистка #selenium-chromedriver #user-agent

Вопрос:

Следующий код изменяет пользовательский агент:

         
        headers = randint(0, 1)
        with open('headers.csv', 'r') as fd:
            reader = csv.reader(fd)
            reader = list(reader)
            driver.execute_cdp_cmd('Network.setUserAgentOverride', {
                                    "userAgent": str(reader[headers])})    
        
       
  

CSV-файл headers содержит только два заголовка для целей тестирования:
headers.csv:

 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36
  

При переходе к ‘https://amiunique.org/fp «в моем обычном браузере заголовок user agent является обычным.
обычный браузер

И при использовании драйвера selenium chrome, использующего приведенный выше код изменения пользовательского агента, это результат: selenium chromedriver

Я предполагаю [] , что заключение заголовка user-agent в круглые скобки является причиной моего обнаружения. как мне избавиться [] от вывода?

Ответ №1:

Ваш элемент (reader[заголовки]) сам по себе является списком. Используйте

 "userAgent": ''.join(reader[headers])
  

вместо этого.

Комментарии:

1. спасибо, это сработало отлично. не могли бы вы немного подробнее остановиться на проблеме имен переменных?

2. Я отредактировал ответ. На самом деле это не проблема, но облегчит чтение кода. На самом деле вы выбираете один заголовок user agent из этого файла, а ‘headers’ на самом деле является целочисленным индексом, поэтому ‘headers’ не совсем описывает, что содержит переменная.

3. Я бы использовал что-то вроде ‘idx = randint(…)’, ‘headers = list(reader)’, ‘user_agent = headers [idx]’

4. ах, спасибо. как ни странно, его код я скопировал из stackoverflow lol. кроме того, даже если [] исчез, он по-прежнему говорит, что пользовательский агент уникален, даже если он скопирован и вставлен из моего обычного браузера в файл csv.