爬虫小结

大数库时代:数据如何产生:

1.大的公司大的企业:通过用户产生的用户
2.大的数据平台:通过收集或者和其他企业或者公司合作
3.国家政府 大的机构:通过省 县 乡 或者其他方式统计汇总产生的
4.数据咨询公司:通过收集或者和其他企业或者公司合作,会跟据数据做分析对比形成报表
5.最终以上方式都不能满足的时候 我们需要一个爬虫工程师 去做专门的数据提取

1.什么是爬虫?

就是一段自动获取互联网数据的程序

2.爬虫有什么用途?

搜索引擎
比价工具(慧慧购物助手)
大的资讯网站(今日头条)

网站的三大特性:

1.每个资源都有一个url(统一资源定位副),是唯一的
2.网页都是HTTP/HTTPS(超文本传输协议),获取和传递HTML

3.如何实现一个爬虫

1.找到目标url
2.跟具url发起请求
3.解析响应 结果:
(1).提取目标数具
(2).如何存在新的url,进一步提取(会执行1-3这个循环)
4.爬虫结束:所有符合条件的url请求全部获取完毕,意味着爬虫完毕

4. 为什么要使用python做爬虫?

PHP,java,c/c++,if python....:

PHP:可以用来做爬虫,但是对于多任务的支持不是太好,爬虫是对效率要求比较高的,所以说PHP天生不是干这个的

JAVA:生态圈很完善,并且用途非常广泛(后端 移动端..... ),java 做爬虫是python最大的竞争对手,但是java代码量比较大,重构的成本比较高,

c/c++:肯定可以完成爬虫这件事,并且运行的效率是非常高的,但是门槛非常高,各个模型可能需要你自己封装和定制

python:语法简洁,代码优美,可读性高,并且对各模块的支持比较好,有很强大的是三方包,

对多任务的处理也比较好,urllib,requests都能很好的帮助我们实现要一个爬虫项目,解析库页非常多(lxml,bs4,pyquery...),并且还有很强大的scrapy爬虫框架和scrapy——readis分布式爬虫框架,并且python作为一个胶水语言,对于其他语言的调度也是非常方便的

爬虫分为两类:

通用爬虫: 通用爬虫是浏览器的重要组成部分,将互联网上所有的网页下载到本地,做了一个镜像备份,提取重要数具(过滤数具,粉刺,去广告...)

步骤其实和上面介绍的类似

搜索引擎的爬去的url通过上面的方式获取??

1.通过网站的外链
2.通过网页提交url:(百度:http://zhangzhang.baidu.com/linksubmit/url
3.各大搜索引擎公司也会和DNS服务商合作

DNS:将我们的域名转化为ip的一种技术

通过爬虫(搜索引擎)的缺点:

1.需要遵循roboot协议:Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
2.搜索引擎千篇一律没有很好的针对性,不能够特殊的用户群体返回对应的数据,
3.搜索引擎一般情况下获取的是文本信息,处理图像,音频。视频多媒体还是有困难的
聚焦爬虫: 是面向主题的爬虫,由需求产生的,是一种定向爬虫,在爬去网页数据的时候,会对网页数据赛选,保证抓取和需求相关的数据,以后我们更多的就是实现聚焦爬虫

做爬虫需要掌握的知识

1.pyton的基本语法
2.前端知识
3.数据持久话的知识
4.基本的反爬手段(header请求头 验证码 coolies 代理)
5.静态页面的动态页面(ajax,js),selenium(获取的页码是经过浏览器渲染之后的最终结果)
6.多任务多处理,爬虫框架,分布式爬虫等等

HTTP:超文本协议,主要是用来将html文本传素到本地浏览器。

HTTPS: 作用和HTTP一致,只是多了SSL(安全套接字层),保证数据传输通道的安全性
1.建立一个安全有效塞外数据传输通道,保证数据的安全性
2.保证网站的真实性和有效性

url组成部分:

1.scheme:协议
2.host:指的是 域 或者 ip
3.port:端口
4.path:资源路径
5.query——String :请求参数
6.anchor:锚点 主要是实现页面的定位作用

请求头:

User——Agent:模拟浏览器加载
Cookies:携带cookies第一可以维持会话,告诉浏览器用户的信息身份
Refere:告诉浏览器,当前请求 是从那个页面发起的

常见状态码:

100~199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。

2xx:表示服务器成功接收请求并已完成整个处理过程。

200(OK 请求成功)。

3xx:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、 常用

301: 永久重定向
302:临时重定向(所请求的页面已经临时转移至新的url)

4xx:客户端的请求有错误.

400:错误请求,服务器无法解析请求
401:未授权,没有进行身份验证
403:服务器拒绝访问
404:服务器无法找到被请求的网页
408:请求超时

5xx:服务器端出现错误

500:服务器内部错误
501:服务器不具备完成请求的功能
503:服务器不可用
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 爬虫是一段自动获取网络数据的程序,用于做搜索引擎等,想做爬虫得实现如下三部 (1).找到目标URL (2).根据U...
    山野过客阅读 205评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,326评论 19 139
  • 《这就是搜索引擎》这本书的第二章是关于爬虫的,干货很多(文章几乎没有废话,所以复制居多),可以参考搜索引擎是如何构...
    SeanCheney阅读 2,162评论 0 20
  • 《记住你是谁》一提到这个书名,不知怎么的突然想到最近正火的日本动漫电影《你的名字》。 两个多月前,丧心病狂地在网上...
    伊贝de阅读 5,317评论 13 224
  • 罗子君走过的路我也走过,我比他还能好点,最起码我的老公跟我说他还是爱我的,只是玩玩而已,仅此而已~~ 我选择了原谅...
    半生荼靡欣欣阅读 233评论 0 2

友情链接更多精彩内容