Я писал паука, и через некоторое время он был заблокирован сервером веб-сайта, поэтому я попытался сменить свой Cook ie, чтобы продолжить синтаксический анализ веб-сайта. Я написал следующий код и протестировал его локально, используя фреймворк Scrapy, и он работал нормально. Однако, когда я попытался запустить его на сервере своей лаборатории (с помощью Scrapy-Redis), я больше не смог получить cook ie.
def get_sm_cookie(self):
while 1:
try:
url = 'https://m.sm.cn/s?q=KEYWORD&from=smor'
option = webdriver.ChromeOptions()
option.add_argument('--headless')
option.add_argument('--disable-gpu')
option.add_argument('user-agent="Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36"')
option.add_experimental_option('excludeSwitches', ['enable-logging'])
# option.add_argument('blink-settings=imagesEnabled=false')
browser = webdriver.Chrome(options=option)
browser.get(url)
time.sleep(5)
print("selenium link is:", browser.current_url)
print(browser.get_cookies())
cookie_item = {}
for cookie_dict in browser.get_cookies():
cookie_item[cookie_dict['name']] = cookie_dict['value']
browser.quit()
break
except Exception as e:
print(e)
browser.quit()
time.sleep(10)
print('This is new cookie:', cookie_item)
return cookie_item
После запуска на сервере
print(browser.get_cookies())
напечатал что-то вроде
[]
Ничего не было получено.
Может ли кто-нибудь дать мне некоторое представление о том, как решить эту проблему? Спасибо за любые советы.