首先要知道python爬虫是一个程序,这个程序的目的就是为了抓取万维网信息资源,比如你日常使用的谷歌等搜索引擎,搜索结果就全都依赖爬虫来定时获取

了解一个python爬虫离不开了解一下爬虫的基本原理,接下来我们来讲解一下这个原理。

网页请求的过程分为两个环节:

  1. Request (请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求。

  2. Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求,如图 所示。

网页请求的方式也分为两种:

  1. GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快。

  2. POST:相比 GET 方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息。

所以,在写爬虫前要先确定向谁发送请求,用什么方式发送。

爬虫的目标对象也很丰富,不论是文字、图片、视频,任何结构化非结构化的数据爬虫都可以爬取,爬虫经过发展,也衍生出了各种爬虫类型:

通用网络爬虫:爬取对象从一些种子 URL 扩充到整个 Web,搜索引擎干的就是这些事

垂直网络爬虫:针对特定领域主题进行爬取,比如专门爬取小说目录以及章节的垂直爬虫

增量网络爬虫:对已经抓取的网页进行实时更新

深层网络爬虫:爬取一些需要用户提交关键词才能获得的 Web 页面

不想说这些大方向的概念,让我们以一个获取网页内容为例,从爬虫技术本身出发,来说说网页爬虫,步骤如下:

模拟请求网页资源

从HTML提取目标元素

数据持久化

什么是爬虫,这就是爬虫:

“”“让我们根据上面说的步骤来完成一个简单的爬虫程序”“”

import requests

from bs4 import BeautifulSoup

target_url = ‘http://www.baidu.com/s?wd=爬虫’

第一步 发起一个GET请求

res = requests.get(target_url)

第二步 提取HTML并解析想获取的数据 比如获取 title

soup = BeautifulSoup(res.text, “lxml”)

输出 soup.title.text

title = soup.title.text

第三步 持久化 比如保存到本地

with open(‘title.txt’, ‘w’) as fp:

fp.write(title)

加上注释不到20行代码,你就完成了一个爬虫,简单吧

Python爬虫是什么?相关推荐

  1. 关于Python爬虫原理和数据抓取1.1

    为什么要做爬虫? 首先请问:都说现在是"大数据时代",那数据从何而来? 企业产生的用户数据:百度指数.阿里指数.TBI腾讯浏览指数.新浪微博指数 数据平台购买数据:数据堂.国云数据 ...

  2. python爬虫之Scrapy框架的post请求和核心组件的工作 流程

    python爬虫之Scrapy框架的post请求和核心组件的工作 流程 一 Scrapy的post请求的实现 在爬虫文件中的爬虫类继承了Spider父类中的start_urls,该方法就可以对star ...

  3. python爬虫抓取信息_python爬虫爬取网上药品信息并且存入数据库

    我最近在学习python爬虫,然后正好碰上数据库课设,我就选了一个连锁药店的,所以就把网上的药品信息爬取了下来. 1,首先分析网页 2,我想要的是评论数比较多的,毕竟好东西大概是买的人多才好.然后你会 ...

  4. python爬虫案例_推荐上百个github上Python爬虫案例

    现在学生都对爬虫感兴趣,这里发现一些好的github开源的代码,分享给各位 1.awesome-spider 该网站提供了近上百个爬虫案例代码,这是ID为facert的一个知乎工程师开源的,star6 ...

  5. Python培训分享:python爬虫可以用来做什么?

    爬虫又被称为网络蜘蛛,它可以抓取我们页面的一些相关数据,近几年Python技术的到来,让我们对爬虫有了一个新的认知,那就是Python爬虫,下面我们就来看看python爬虫可以用来做什么? Pytho ...

  6. 玩转 Python 爬虫,需要先知道这些

    作者 | 叶庭云 来源 | 修炼Python 头图 | 下载于视觉中国 爬虫基本原理 1. URI 和 URL URI 的全称为 Uniform Resource Identifier,即统一资源标志 ...

  7. 买不到口罩怎么办?Python爬虫帮你时刻盯着自动下单!| 原力计划

    作者 | 菜园子哇 编辑 | 唐小引 来源 | CSDN 博客 马上上班了,回来的路上,上班地铁上都是非常急需口罩的. 目前也非常难买到正品.发货快的口罩,许多药店都售完了. 并且,淘宝上一些新店口罩 ...

  8. 一个月入门Python爬虫,轻松爬取大规模数据

    如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这样一个月入门Python爬虫,轻松爬的编程语言提供越来越多的优秀工具,让爬虫 ...

  9. Python爬虫获取文章的标题及你的博客的阅读量,评论量。所有数据写入本地记事本。最后输出你的总阅读量!

    Python爬虫获取文章的标题及你的博客的阅读量,评论量.所有数据写入本地记事本.最后输出你的总阅读量!还可以进行筛选输出!比如阅读量大于1000,之类的! 完整代码在最后.依据阅读数量进行降序输出! ...

  10. Python爬虫破解有道翻译

    有道翻译是以异步方式实现数据加载的,要实现对此类网站的数据抓取,其过程相对繁琐,本节我以有道翻译为例进行详细讲解. 通过控制台抓包,我们得知了 POST 请求的参数以及相应的参数值,如下所示: 图1: ...

最新文章

  1. 鸽巢原理(抽屉原理)的详解
  2. 系统管理员在企业中的职业定位及发展方向 连载(二)
  3. vim中设置python代码缩进为4个空格
  4. 《TCP/IP详解》之二:流式数据交互
  5. (一)卷积网络之基础要点
  6. C++工作笔记-多继承下的一个大坑
  7. 1小时搞懂设计模式之工厂模式(方法工厂)
  8. python工资一般多少大专学历-这个面试官真霸气 不收大专程序员
  9. SRM 207 Div II Level Two: RegularSeason,字符串操作(sstream),多关键字排序(操作符重载)...
  10. linux磁盘管理の进阶篇一
  11. ENVI学习总结(八)——图像镶嵌
  12. 图解设计模式(二)适配器模式
  13. RS485芯片与单片机接口中的一个容易忽略的隐患
  14. 使用Windows中的字体生成点阵字库
  15. 怎么把excel转换成word
  16. springboot 发送短信
  17. 数据可视化分析平台开源方案集锦
  18. python单曲循环播放MP3
  19. 风火轮树莓派3卡片电脑介绍
  20. java流的试题_Java练习题 - Stream流

热门文章

  1. C盘用户文件夹下的AppData文件夹里放的是什么?
  2. 美团无人配送部总经理夏华夏演讲:从技术细节看美团架构
  3. matlab has encountered,[万能解决问题]MATLAB has encountered an internal problem and needs to close....
  4. 解决:在 VSCode 中如何设置默认的浏览器为Chrome或Firefox
  5. python打开默认浏览器_python 打开浏览器的方法 Python打开默认浏览器
  6. linux新建目录自动777权限,什么是777权限?Linux及Windows下如何设置文件夹的权限为777?...
  7. 32位系统和64位区别
  8. java入门12--面向对象(上)
  9. html id命名规范,常见的类名id名命名参考规范
  10. 计组知识点总结 指令系统