爬虫01

作者: 大白python学习分享 | 来源:发表于2018-11-15 20:50 被阅读0次

    数据如何产生?

    1.大公司,大企业:通过用户产生

    2.大的数据平台:通过收集或者其他企业或者公司合作

    3.国家或政府机构:通过省县乡或者其他方式统计汇总产生

    4.数据咨询公司:通过收集或者其他企业或者合作公司,会根据数据做分析对比形成报表,给你做参考

    1. 以上方式都用不上的情况下就要用到爬虫

    什么是爬虫?

    1.自动获取网页的数据

    爬虫有什么用途?

    1.搜索引擎

    网站的三大特性:

    1. 每一个资源都有一个url(资源定位符),是唯一的

    2. 网页都是使用HTML(超文本)展示数据的

    3. 通过HTTP/HTTPS(超文本传输协议),获取和传递HTML

    如何实现一个爬虫?

    1. 找到目标url

    2. 根据url发起请求

    3. 解析响应结果:提取目标数据;如何存在新的url,需要进一步提取(会执行1-3这个循环)

    4. 爬虫结束:所有符合条件的url请求全部获取完毕,意味着爬虫结束

    为什么要使用python做爬虫?

    Python:语法简洁,代码优美,可读性比较高,并且对各模块的支持比较好,有很多强大的三方包,对多任务的处理也比较好,urllib,request都能够很好的帮助我们实现一个爬虫项目,解析的库也非常多(lxml,bs4, pyquery...),并且还有强大的scrapy爬虫框架和scrapy_redis分布式爬虫框架,并且python作为一门胶水语言,对于其他语言的调度也是非常方便的。

    爬虫分为两类:

    通用爬虫:通用爬虫是浏览器的重要组成部分,将互联网上所有的网页下载到本地,做了一个镜像备份,提取重要数据(过滤数据,分词,去广告等等...); 步骤跟上面的类似 搜索引擎的爬取的url通过什么方式获取的? 一. 通过网站的外链 二. 通过网页提交url:(百度:<u>http://zhanzhang.baidu.com/linksubmit/url)</u> 三. 各大搜索引擎公司也会和DNS服务商合作 通用爬虫的缺点:需要遵守robot协议(爬虫协议,机器人协议);搜索引擎返回的结果千篇一律没有很好的针对性,不能够对特殊的用户群体返回对应的数据;搜索引擎一般情况下获取的是文本信息,处理图像,音频,视频多媒体还是有困难的

    1. 聚焦爬虫: 是面向主题的爬虫,由需求产生的,是一种定向的爬虫,在爬取网页数据的时候,会对网页数据进行一些筛选,保证只抓取和需求相关的数据

    2. 做爬虫需要掌握的基本知识:

    Ø Python的基本语法

    Ø 前端知识

    Ø 数据持久化的知识(数据库,文件储存)

    Ø 了解基本的反爬虫的手段(header请求头,验证码,cookie,代理)

    Ø 静态页面和动态页面(Ajax,js,selenium(获取的页面源码是经过浏览器渲染之后的最终结果))

    Ø 多任务处理,爬虫框架,分布式爬虫等等

    1. HTTP:超文本传输协议,主要使用来将html文件传输到本地浏览器

    2. HTTPS:作用和HTTP一致,只是多了SSL(安全套接字),保证数据传输的安全性:

    a. 建立一个安全有效的数据传输通道,保证数据的安全性

    b. 确定网站的安全性和有效性

    1. url组成部分: 基本格式:scheme://host[:port#]/path/…/[?query-string][#anchor]

    · scheme:协议(例如:http, https, ftp)

    · host:服务器的IP地址或者域名

    · port#:服务器的端口(如果是走协议默认端口,缺省端口80)

    · path:访问资源的路径

    · query-string:参数,发送给http服务器的数据

    · anchor:锚(跳转到网页的指定锚点位置)

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

    2. 常见的状态吗: 100~199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。 200~299:表示服务器成功接收请求并已完成整个处理过程。常用200(OK 请求成功)。 300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、 常用302(所请求的页面已经临时转移至新的url)、 307和304(使用缓存资源)。 400~499:客户端的请求有错误,常用404(服务器无法找到被请求的页面)、403(服务器拒绝访问,权限不够),401(未认证)。 500~599:服务器端出现错误,常用500(请求未完成。服务器遇到不可预知的情况)。

    相关文章

      网友评论

          本文标题:爬虫01

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