fake_useragent 실례화 대상 오류
2711 단어 python 라이브러리파충류
import fake_useragent
#
ua = fake_useragent.UserAgent()
socket.timeout: timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "d:\programdata\anaconda3\lib\site-packages\fake_useragent\utils.py", lin
e 166, in load
verify_ssl=verify_ssl,
File "d:\programdata\anaconda3\lib\site-packages\fake_useragent\utils.py", lin
e 122, in get_browser_versions
verify_ssl=verify_ssl,
File "d:\programdata\anaconda3\lib\site-packages\fake_useragent\utils.py", lin
e 84, in get
raise FakeUserAgentError('Maximum amount of retries reached')
fake_useragent.errors.FakeUserAgentError: Maximum amount of retries reached
오보에 의하면 초보적으로 인터넷이 시간을 초과한 것으로 추정된다. 인터넷에서 자료를 찾아보면 이 라이브러리는 온라인 자원을 인용할 것이다. 조사를 통해 관련 설정은 다음과 같다.
fake_useragent\settings.py
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import os
import tempfile
__version__ = '0.1.11'
DB = os.path.join(
tempfile.gettempdir(),
'fake_useragent_{version}.json'.format(
version=__version__,
),
)
CACHE_SERVER = 'https://fake-useragent.herokuapp.com/browsers/{version}'.format(
version=__version__,
)
BROWSERS_STATS_PAGE = 'https://www.w3schools.com/browsers/default.asp'
BROWSER_BASE_PAGE = 'http://useragentstring.com/pages/useragentstring.php?name={browser}' # noqa
그 중에서 이 사이트
https://www.w3schools.com/browsers/default.asp
가 열리지 않아 시간 초과 오류가 발생하였다.다른 URL을 차례대로 살펴보면 모두 정상적으로 열릴 수 있다. 그 중에서
CACHE_SERVER
는 모든 User Agent의 json 데이터를 저장한 것이다. 그 중에서DB
라는 변수를 다시 한 번 관찰하고fake_useragent\fake.py
의 논리와 결합하여 이 변수는 json 데이터를 저장한 것이어야 한다고 판단하기 때문에 대체논리는 처음 초기화할 때 CACHE_SERVER
중의 json 데이터를 자동으로 추출하여 로컬에 저장한다.그래서 우리는 json을 지정한 경로에 직접 저장하고 다시 초기화할 때 틀리지 않을 것이다In [11]: import tempfile
In [13]: print(tempfile.gettempdir())
C:\Users\ADMINI~1.-20\AppData\Local\Temp\1
CACHE_SERVER
의 json 데이터를 fake_useragent_0.1.11.json
로 저장하고 디렉터리C:\Users\ADMINI~1.-20\AppData\Local\Temp\1
에 넣기다시 호출, 정상적으로 호출 가능
In [24]: import fake_useragent
In [25]: ua = fake_useragent.UserAgent() #
In [26]: ua.data_browsers['chrome'][0]
Out[26]: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Ch
rome/41.0.2228.0 Safari/537.36'
참고:
CACHE_SERVER
아니면https://fake-useragent.herokuapp.com/browsers/0.1.11
라이브러리 업데이트pip install --upgrade fake_useragent
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
파충류 에이전트의 쿠키 생성 실행 방법브라우저에 키워드를 입력하면 페이지 내용이 되돌아옵니다.이것이 바로 우리가 브라우저로 웹 사이트가 있는 서버에 요청을 보냈는데 웹 사이트의 서버가 이 요청을 받은 후에 분석을 하고 웹 페이지의 내용을 보여주는 것이다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.