python爬虫基本概述

一、爬虫是什么

网络爬虫(Crawler)又称网络蜘蛛,或者网络机器人(Robots). 它是一种按照一定的规则, 自动地抓取万维网信息的程序或者脚本。换句话来说,它可以根据网页的链接地址自动获取网页 内容。如果把互联网比做一个大蜘蛛网,它里面有许许多多的网页,网络蜘蛛可以获取所有网页 的内容。

爬虫是一个模拟人类请求网站行为, 并批量下载网站资源的一种程序或自动化脚本。

二、爬虫可以做什么

1. 搜索引擎

2. 采集金融数据

3. 采集商品数据

4. 采集竞争对手的客户数据

5. 采集行业相关数据,进行数据分析

6. 刷流量

三、爬虫的分类

1、通用网络爬虫 又称为全网爬虫,其爬取对象由一批 URL 扩充至整个 Web,主要由搜索引擎或大型 Web 服 务商使用。

2、聚焦网络爬虫 又称为主题网络爬虫,其特点是只选择性的地爬取与预设的主题相关的页面,相比通用网 络爬虫,聚焦网络爬虫仅需要爬取与主题相关的页面,极大地节省硬件及网络资源,能更 快的更新保存页面,更好的满足特定人群对特定领域的需求。

3、增量网络爬虫 只对已下载的网页采取增量式更新,或只爬取新产生的及已经发生变化的网页,这种机制 能够在某种程度上保证所爬取的网页尽可能的新。

4、深度网络爬虫 Web 页面按照存在的方式可以分为表层页面和深层页面两类。表层页面是只传统搜索引擎 可以索引到的页面,以超链接可以达到的静态页面为主。深层页面是指大部分内容无法通 过静态链接获取,隐藏在搜索表单之后的,需要用户提交关键词后才能获得的 Web 页面, 如一些登陆后可见的网页。

四、爬虫的基本流程

1、浏览网页的流程

2 、爬虫的基本流程

1. 请求网页 通过 HTTP 库向目标站点发起请求,即发送一个 Request,请求可以包含额外的 headers 等 信息,等待服务器响应!

2. 获得相应内容 如果服务器能正常响应,会得到一个 Response,Response 的内容便是所要获取的页面内容, 类型可能有 HTML,Json 字符串,二进制数据(如图片视频)等类型。

3. 解析内容 得到的内容可能是 HTML,可以用正则表达式、网页解析库进行解析。可能是Json,可以 直接转为 Json 对象解析,可能是二进制数据,可以做保存或者进一步的处理。

4. 存储解析的数据 保存形式多样,可以存为文本,也可以保存至数据库,或者保存特定格式的文件

3 、爬虫的测试案例

爬取搜狗首页的页面数据

# 导包
import requests
# step_1 : 指定url
url ='https://www.sogou.com/'
# step_2 : 发起请求:
# 使用get 方法发起get 请求, 该方法会返回一个响应对象。参数url 表示请求对应的url
response = requests.get ( url = url )
# step_3 : 获取响应数据:
# 通过调用响应对象的text 属性, 返回响应对象中存储的字符串形式的响应数据( 页面源码数据)
page_text = response . text
# step_4 : 持久化存储
with open ('sogou.html','w',encoding ='utf -8') as fp:fp.write (page_text)
print ('爬取数据完毕! ! !')

得到sogou.html

想了解更多爬虫可移步:Python网络爬虫教程详解.pdf

python爬虫基本概述相关推荐

  1. Python 爬虫进阶一之爬虫框架概述

    综述 爬虫入门之后,我们有两条路可以走. 一个是继续深入学习,以及关于设计模式的一些知识,强化 Python 相关知识,自己动手造轮子,继续为自己的爬虫增加分布式,多线程等功能扩展.另一条路便是学习一 ...

  2. 《Python爬虫开发与项目实战》——第3章 初识网络爬虫 3.1 网络爬虫概述

    本节书摘来自华章计算机<Python爬虫开发与项目实战>一书中的第3章,第3.1节,作者:范传辉著,更多章节内容可以访问云栖社区"华章计算机"公众号查看 第3章 初识网 ...

  3. python爬虫概述及简单实践

    文章目录 一.先了解用户获取网络数据的方式 二.简单了解网页源代码的组成 1.web基本的编程语言 2.使用浏览器查看网页源代码 三.爬虫概述 1.认识爬虫 2.python爬虫 3.爬虫分类 4.爬 ...

  4. python爬虫设计模式_Python爬虫进阶一之爬虫框架概述

    综述 爬虫入门之后,我们有两条路可以走. 一个是继续深入学习,以及关于设计模式的一些知识,强化Python相关知识,自己动手造轮子,继续为自己的爬虫增加分布式,多线程等功能扩展.另一条路便是学习一些优 ...

  5. python爬虫概述

    一."大数据时代",数据获取的方式:1. 企业生产的用户数据:大型互联网公司有海量用户,所以他们积累数据有天然的优势.有数据意识的中小型企业,也开始积累的数据.2. 数据管理咨询公 ...

  6. python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述

    http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...

  7. python爬虫scrapy框架教程_Python爬虫教程-30-Scrapy 爬虫框架介绍

    从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...

  8. 精通python爬虫框架-精通Python爬虫框架Scrapy PDF 中文清晰版

    给大家带来的一篇关于Python爬虫相关的电子书资源,介绍了关于Python.爬虫.框架.Scrapy方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小8.6 MB,迪米特里奥斯编写,目前 ...

  9. python爬虫案例-Python3爬虫三大案例实战分享

    课程名称: [温馨提示:1. 你可以在PC端浏览器或者微信收藏该页面,以方便你快速找到这个课程:2. 课程相关资料可在课程PC端公告查看下载:3.加入课程后,点(课时)列表即可观看视频 ] 课程须知: ...

  10. python学起来难不难-零基础学Python爬虫难不难?要怎么学?

    零基础学Python爬虫难不难?要怎么学?众所周知,Python是最容易上手的编程语言,如果有一定基础,学会Python爬虫也是分分钟钟的事.对于零基础的学习者来说,Python爬虫也是比较简单的,只 ...

最新文章

  1. 3D视觉检测的未来:光度立体技术
  2. linux 中解析命令行参数 (getopt_long用法)
  3. BLE 安全之虫洞攻击
  4. python读取sqlserver的数据_Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例...
  5. c语言各个英文的作用,C语言最重要的知识点复习资料(国外英文资料).doc
  6. 数学思想 —— 简化问题
  7. python基本代码教程-python基础教程
  8. Transformer提效之路干货笔记——一文梳理各种魔改版本Transformer
  9. 真奇怪:我机器上的freeswitch无法绑定端口了
  10. 用大白话带你理解CPU指令集
  11. 关于税控的一些问题总结
  12. 【DevOps研发管理方案】一:方案简介
  13. java前端vml_在Web中使用JavaScript和VML实现WebGIS中的测距
  14. Adobe InDesign繁体字转简体字
  15. python url加密解密_python解密百度加密链接的脚本
  16. ANE总结(Android+iPhone)
  17. 一篇文章搞懂前端学习方法与构建知识体系
  18. 数据结构:项目三、算术表达式求解
  19. Lync(Skype)接口开发实录
  20. android7.1自带壁纸,RK3399 Android7.1 修改壁纸

热门文章

  1. 用java制作扑克牌_java实现简单扑克牌游戏
  2. 收到短信:【淘会员】加微信免费赠礼品!是什么套路?这类短信如何发
  3. 语音助手——评测指标
  4. mysql 语法大全
  5. 导致无法查看隐藏文件的病毒处理
  6. 解决Kangle的Easypanel控制面板用户前台php版本无法切换的解决方法
  7. SpringBoot的属性注入详解
  8. 串口通信的隔离传输方案记录
  9. 爬了我的微信好友,原来他们是这样的...
  10. 机器学习的6个核心算法