本帖最后由 codeaftercode 于 2022-12-2 08:21 编辑
直接用fake_useragent随机生成useragent时,经常出现timeout错误,可以把json文件手动下载回来,用path参数指定这个json的路径
ua = UserAgent(path='fake_useragent.json')
上述方法在旧版(版本号0.1.11)中可用,但是在新版的fake_useragent(版本号1.0.1)中报错:
FakeUserAgent.__init__() got an unexpected keyword argument 'path'
解决方法是把path改成cache_path,即
ua = UserAgent(cache_path='fake_useragent.json')
不知道从哪个版本开始,参数名path改成了cache_path。如果不确定用哪个参数名,看一下UserAgent源码的参数列表就知道了
fake_useragent 0.1.11:
[Python] 纯文本查看 复制代码 class FakeUserAgent(object):
def __init__(
self,
cache=True,
use_cache_server=True,
path=settings.DB,
fallback=None,
verify_ssl=True,
safe_attrs=tuple(),
):
...
UserAgent = FakeUserAgent
fake_useragent 1.0.1:
[Python] 纯文本查看 复制代码 class FakeUserAgent:
def __init__(
self,
use_external_data=False,
cache_path=settings.DB,
fallback=None,
browsers=["chrome", "edge", "internet explorer", "firefox", "safari", "opera"],
verify_ssl=True,
safe_attrs=tuple(),
):
...
UserAgent = FakeUserAgent
下载地址
json文件下载地址,在源代码中可以看到,但是网址打不开。网盘里是我很久很久以前下载的0.1.11版本的json文件,1.0.1版本的包打开也能用。
https://pan.baidu.com/s/1Mg0UNA7CW1yHPpIuwJsgEw?pwd=b27g 提取码: b27g
https://www.aliyundrive.com/s/Q8Ndq9iFRLg
注意事项
使用过程中发现,ua.random生成的字符串,有时在最前面出现一个莫名其妙的空格,传到requests.get()里会报错。
我的处理方法是ua.random.lstrip(),去掉前导空格
|