美文网首页笑笑酱爬虫学习提升模版
Python 爬虫使用随机 User-Agent

Python 爬虫使用随机 User-Agent

作者: JeetChan | 来源:发表于2020-03-05 18:31 被阅读0次

原文首发于CSDN,略有增删

Python 爬虫使用随机 User-Agent

在编写爬虫时,大多数情况下,需要设置请求头。而在请求头中,随机更换User-Agent可以避免触发相应的反爬机制。使用第三方库fake-useragent便可轻松生成随机User-Agent

以下简单介绍fake-useragent的安装使用,以及可能出现的问题和解决方法。

安装

fake-useragent的 GitHub 仓库地址是:https://github.com/hellysmile/fake-useragent。可使用pip进行安装。

pip install fake-useragent

使用

当我们需要使用随机User-Agent时,只需通过ua.random即可获取。代码如下:

from fake_useragent import UserAgent

ua = UserAgent()

# ......
request.add_header("User-Agent",ua.random)
# ......

在这里这是使用了fake-useragent库的随机功能,更详细用法请参阅官方文档。

可能出现的问题和解决方法

我在使用fake-useragent的过程中出现了FakeUserAgentError错误。在搜索到的很多解决方法都无效,包括:

  1. 禁用服务器缓存:ua = UserAgent(use_cache_server=False)
  2. 不缓存数据:ua = UserAgent(cache=False)
  3. 忽略 SSL 验证:ua = UserAgent(verify_ssl=False)
  4. 更新fake-useragentpip install -U fake-useragent

最后是通过文章《FakeUserAgentError('Maximum amount of retries reached') 彻底解决办法》加载fake_useragent本地文件才能解决。但需要从herokuapp下载(https://fake-useragent.herokuapp.com/browsers/0.1.11fake_useragentJSON文件。不过我家里的网络是打不开herokuapp的,切换到另外的网络才能打开。为了方便无法访问herokuapp网站的朋友,我也上传了一份到CSDN资源中,有需要的可以去下载

import fake_useragent

# I am STRONGLY!!! recommend to use version suffix
location = '/home/user/fake_useragent%s.json' % fake_useragent.VERSION

ua = fake_useragent.UserAgent(path=location)
ua.random
FakeUserAgentError.png

相关文章

  • Python 爬虫使用随机 User-Agent

    原文首发于CSDN,略有增删 Python 爬虫使用随机 User-Agent 在编写爬虫时,大多数情况下,需要设...

  • 10-Scrapy反爬策略&模拟登录

    一.反反爬虫相关机制 通常反反爬主要有以下几个策略: 动态设置User-Agent(随机切换User-Agent,...

  • Scrapy的下载中间件

    防止爬虫被反的几个策略: 1、动态设置User-Agent 随机切换User-Agent,模拟不同用户的浏览器信息...

  • 爬虫

    1、反反爬虫相关机制 1、动态设置User-Agent(随机切换User-Agent,模拟不同用户的浏览器信息)2...

  • scrapy突破反爬的几种方式(二)

    上回说到设置随机 User-Agent ,这次来一个随机代理 ip 的设置。 代理ip 在爬虫中,为了避免网站将我...

  • python基础知识和经验总结-1

    python爬虫使用urllib2方法 python取余数 python随机定时休息程序 判断逗号是否在字符串内 ...

  • scrapy使用随机User-Agent

    scrapy使用随机User-Agent 众所周知,User-Agent值是用来帮助服务器识别用户使用的操作系统、...

  • Scrapy使用随机User-Agent爬取网站

    在爬虫爬取过程中,我们常常会使用各种各样的伪装来降低被目标网站反爬的概率,其中随机更换User-Agent就是一种...

  • Scrapy的中间件Downloader Middleware实

    这里我找了一个之前写好的爬虫,然后实现随机更换User-Agent,在settings配置文件如下: DOWNLO...

  • python爬虫学习(三)

    爬虫实例(一)更换用户代理爬取时默认user-agent是'python-requests/2.18.4' 有可能...

网友评论

    本文标题:Python 爬虫使用随机 User-Agent

    本文链接:https://www.haomeiwen.com/subject/nahcrhtx.html