codeaftercode 发表于 2022-12-1 08:38

python本地调用新版UserAgent

本帖最后由 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:
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:
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(),去掉前导空格

xxl1039 发表于 2022-12-1 08:55

支持一下。

isgod 发表于 2022-12-1 09:09

支持一下,不过要说明一下失效的版本号,以及目前测试成功的版本号吧

爱新觉罗罹江 发表于 2022-12-1 09:15

感谢分享,我之前一直是自己抓包粘贴ua,没想到还可以用这个生成。

choujie1689 发表于 2022-12-1 09:22

学习了,赞一个

Wisdom_xiaogui 发表于 2022-12-1 10:13

学到了,赞一个

归隐小赵 发表于 2022-12-1 11:43

JSON文件从哪下呢,这个还是比较nice的

caitounb 发表于 2022-12-1 12:06

学习到了

BGKTFU345 发表于 2022-12-1 14:42

非常nice.

codeaftercode 发表于 2022-12-2 08:24

归隐小赵 发表于 2022-12-1 11:43
JSON文件从哪下呢,这个还是比较nice的

原地址我打不开,我之前下载的在这里
https://pan.baidu.com/s/1Mg0UNA7CW1yHPpIuwJsgEw?pwd=b27g 提取码: b27g
https://www.aliyundrive.com/s/Q8Ndq9iFRLg
页: [1]
查看完整版本: python本地调用新版UserAgent