跳转至

爬虫面试题(山月)

爬虫中如何实现一个调度器

原文:https://q.shanyue.tech/server/%E7%88%AC%E8%99%AB/259.html

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 259(opens new window)

如何实现一个分布式的爬虫

原文:https://q.shanyue.tech/server/%E7%88%AC%E8%99%AB/260.html

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 260(opens new window)

Author

回答者: shfshanyue(opens new window)

可以通过 redis 实现一个分布式的 url 调度器 (Set),多个分布式爬虫的爬取器从调度器中统一取地址进行爬取

爬虫如何实现一个去重器

原文:https://q.shanyue.tech/server/%E7%88%AC%E8%99%AB/261.html

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 261(opens new window)

Author

回答者: shay-an(opens new window)

urlMap[url,hash(data)] urlSet[fullURL] urlMap 存不包含查询字符串的 url,data 相同也不存储 urlSet 存完整 url,即 Map 里没有查询到,则通过完整 url 去重

当写爬虫时,因爬取过多被禁掉 IP 怎么解决

原文:https://q.shanyue.tech/server/%E7%88%AC%E8%99%AB/263.html

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 263(opens new window)

Author

回答者: shfshanyue(opens new window)

可以维护一个 IP 地址池,通过 Proxy 的方式去爬取网页

在服务端反爬虫有哪些策略

原文:https://q.shanyue.tech/server/%E7%88%AC%E8%99%AB/468.html

更多描述

在服务端反爬/防爬有哪些策略

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 468(opens new window)

Author

回答者: shfshanyue(opens new window)

01 Referer: 当前页面的访问源

Referer 指当前请求页面的来源页面的地址,用以判断当前页面的访问源。一般用以反爬,比如图片防盗链通过判断 Referer 是否目标网站而对图片替换为禁止标志的图片。

02 User-Agent: 当前页面的用户代理,如浏览器等

User-Agent 指请求当前页面的用户代理,用以标识请求方环境,如浏览器等,如果没有这个字符串可以视为爬虫。同时为了避免伪造用户代理,可以对 User-Agent 进行限流,但同时也有随机生成 UA 的库

03 Rate-Limit: 限流

  • 对 IP 地址进行限流
  • 对 UA 进行限流


回到顶部