网络爬虫基础知识学习

爬虫

爬虫的定义:网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

爬虫的分类:

  • 通用爬虫 :
    搜索引擎抓取系统的重要组成部分
    通用爬虫的局限性:
  1. 通用搜索引擎所返回的结果都是网页,而大多情况下,网页里 90%的内容对用户来
    说都是无用的。
  2. 不同领域、不同背景的用户往往具有不同的检索目的和需求,搜索引擎无法提供针
    对具体某个用户的搜索结果。
  3. 万维网数据形式的丰富和网络技术的不断发展,图片、数据库、音频、视频多媒体
    等不同数据大量出现,通用搜索引擎对这些文件无能为力,不能很好地发现和获取。
  4. 通用搜索引擎大多提供基于关键字的检索,难以支持根据语义信息提出的查询,无法准确理解用户的具体需求。
  • 聚焦爬虫
    定义:: 聚焦爬虫在实施网页抓取时会对内容进行处理筛选,尽量保证只抓取与需求相关的网页信息

爬虫工程师的进阶之路

初级爬虫工程师

1、web 前端的知识:HTML、CSS、JavaScript、DOM、DHTML、Ajax、jQuery、json
等;
2、正则表达式,能提取正常一般网页中想要的信息,比如某些特殊的文字、链接信息、
知道什么是懒惰,什么是贪婪型的正则;
3、会使用 XPath 等获取一些 DOM 结构中的节点信息;
4、知道什么是深度优先和广度优先的抓取算法及实践中的使用规则;
5、能分析简单网站的结构,会使用 urllib 或 requests 库进行简单的数据抓取。

中级爬虫工程师:

1、了解什么是 HASH,会简单地使用 MD5,SHA1 等算法对数据进行 HASH 一遍存储;
2、熟悉 HTTP 和 HTTPS 协议的基础知识,了解 GET 和 POST 方法,了解 HTTP 头中
的信息,包括返回状态码、编码、user-agent、cookie 和 session 等;
3、能设置 user-agent 进行数据爬取,设置代理等;
4、知道什么是 Request,什么是 response,会使用 Fiddler 等工具抓取及分析简单地网
络数据包;对于动态爬虫,要学会分析 ajax 请求,模拟制造 post 数据包请求,抓取客户端
session 等信息,对于一些简单的网站,能够通过模拟数据包进行自动登录;
5、对于一些难搞定的网站学会使用 phantomjs+selenium 抓取一些动态网页信息;
6、并发下载,通过并行下载加速数据爬取;多线程的使用。

高级爬虫工程师:

1、能进行网页的验证码破解;
2、能破解网站的数据加密;
3、会使用常用的数据库进行数据存储、查询。比如 MongoDB 和 Redis。学习如何通过
缓存避免重复下载的问题;
4、能使用一些开源框架 Scrapy,Scrapy-Redis 等分布式爬虫,能部署掌控分布式爬虫
进行大规模数据爬取。

爬虫和法律

(一) 爬虫背后的法律风险
个人信息是爬虫的一个禁区,通常我们都知道,作为爬虫工程师不应该爬取个人信息。那么在我国法律中,关于个人信息的描述如下:

《中华人民共和国网络安全法》
2016 年 11 月 7 日发布的《中华人民共和国网络安全法》明确“个人信息”是指以电子或

者其他方式记录的能够单独或者与其他信息结合识别自然人个人身份的各种信息,包括但不
限于自然人的姓名、出生日期、身份证件号码、个人生物识别信息、住址、电话号码等,就
网络服务中的个人信息保护问题作出系统规定如下:
1、保护个人信息:
网络产品、服务具有收集用户信息功能的,其提供者应当向用户明示并取得同意;涉及
用户个人信息的,还应当遵守本法和有关法律、行政法规关于个人信息保护的规定。
2、合法收集使用个人信息:
网络运营者收集、使用个人信息,应当遵循合法、正当、必要的原则,公开收集、使用
规则,明示收集、使用信息的目的、方式和范围,并经被收集者同意。不得收集与其提供的
服务无关的个人信息,不得违反法律、行政法规的规定和双方的约定收集、使用个人信息,
并应当依照法律、行政法规的规定和与用户的约定,处理其保存的个人信息。
3、不得向他人提供个人信息:
网络运营者不得泄露、篡改、毁损其收集的个人信息,未经被收集者同意,不得向他人
提供个人信息,但经过处理无法识别特定个人且不能复原的除外

《规范互联网信息服务市场秩序若干规定》

1、搜集须经许可:未经用户同意,不得搜集与用户相关、能够单独或者与其他信息结
合识别用户的信息(“用户个人信息”),但法律法规另有规定除外;
2、限定搜集范围和用途:经用户同意搜集用户个人信息的,应当明确告知搜集和处理
用户个人信息的方式、内容和用途,不得收集其提供服务所必需以外的信息,不得将用户个
人信息用于其提供服务之外的目的;
3、用户个人信息保障:互联网信息服务提供者应当加强系统安全防护,妥善保管用户
个人信息,未经用户同意,不得向他人提供用户上载信息,但是法律法规另有规定的除外。

网络爬虫怎么做比较好

1、如果爬虫获取信息,是为了证明被爬公司的数据造假,其获取的数据也都是通过公
开渠道可以查询的,那么,在获取信息后公布于众的行为并不违法,也不侵犯被爬公司的民
事权益。但是,如果你爬取公开免费的信息,是用来进行违法操作,比如造假、诽谤等,就
有隐患了。
2、如果你利用爬虫获取其他公司的公开信息数据,用于自身公司的经营。而被爬公司
的信息是投入了大量人力、财力,经过常年积累获得的,并且被爬公司本身也采取了反爬措
施。这种情况下,虽然信息是公开的,但信息本身具有较高的商业价值,能够给使用者带来
商业利益,此时的爬虫也是违法的。
3、如果你未经平台授权,强行突破反爬措施,导致被爬网站的运行受到严重影响,这
种行为明显是违法的。
4、如果你是第三方应用,想要通过开放平台获取用户信息时,更要注意授权问题。从
用户对平台的授权、平台对第三方的授权、再到用户对第三方的授权,三重关卡都要通过才
合法

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/h1751541643/article/details/109186426
今日推荐