目录

1 定义

2 分类

3 基本流程

4总结

1 定义

爬虫,又称为网络蜘蛛、网络机器人等,简单来说,就是请求网站并提取数据的自动化程序,可以代替人工在互联网上收集数据。

2 分类

通用网络爬虫

搜索引擎离不开爬虫,比如百度搜索引擎的爬虫叫百度蜘蛛(Baiduspider)、Bing的Bingbot、360的360Spider、搜狗的SougouSpider。搜索引擎的爬虫每天在海量的网页中爬取优质的信息并进行收录,根据用户输入的关键字在收录的信息中找到相关网页,并按照一定的算法进行排序显示给用户。这种在全互联网上获取信息的爬虫称为 通用网络爬虫或全网爬虫。

聚焦网络爬虫

聚焦网络爬虫,也叫主题网络爬虫,是根据我们的需求有选择性的爬取相关内容,在《十分钟生成自己的疫情地图,小白都能立刻上手》文章中,小媛儿获取疫情统计数据所用的爬虫,就是这种类型。

3 基本流程

基本流程主要包括四步:

发起请求

获取内容

解析内容

保存数据

爬虫的基本流程前两步是在模仿浏览器对服务器进行Resquest,获取从服务器的Response信息。

我们先来看一下浏览器对服务器的http请求过程

我们看到的网页是浏览器多次对服务器发送请求解析的结果,整个交互过程可以在浏览器中 通过右击-检查(或审查元素)-Network查看。

比如我们在浏览器中输入www.bing.com,查看的结果如图。

需要注意的在Request头部中包含请求方式(GET\POST\PUT\DELETE等),在Response报文头部中有一个 3位数字的“状态码”字段,其中200表示相应成功。

发起请求

通过HTTP库指定URL向目标站点发起请求,即发送一个Request,等待服务器响应。python中发起请求常用的库主要包括urllib,requests。

import requestsurl='https://www.bing.com' #指定目标服务器urlresponse=requests.get(url)    #请求方式为get

获取内容

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

举个简单例子,我们想要爬取bing首页的信息

import requestsurl='https://www.bing.com' #指定目标服务器urlresponse=requests.get(url) #请求方式为getresponse.encoding='utf-8' #设置编码格式,避免中文乱码print(response.status_code) #检测response状态码,200表示爬取成功print(response.text) #输出相应内容

输出结果部分截图:

200

python爬虫项目实训报告背景_项目实战 | Python爬虫概述与实践(一)相关推荐

  1. python图书管理实训报告总结_图书管理系统心得-总结报告模板

    图书管理系统心得 为期两个星期的 c# 图书管理系统实习终于结束了,总算松了一口气,在这 短短的两周时间内承受了很大的压力现在终于能够得到"释放"了, 感觉到很轻 松. 回顾这两周 ...

  2. python图书管理实训报告总结_图书管理系统实验报告

    图书管理系统实验报告 一.问题描述 有一个小型书库保管了大量图书,关于图书有大量信息需要处理,这些信息包 括图书的分类.书名.作者名.购买日期.价格等.现要求编写一个程序以便于对 图书的管理. 基本要 ...

  3. c语言小车寻迹实训报告,循迹小车项目实训报告.doc

    循迹小车项目实训报告 寻迹小车的设计与制作实训报告 课程名称: C51程序设计 EDA技术 专业班级: 应电0935班 指导老师: 方跃春 谭刚林 小组成员: 黄春桥 汤政 孙巍明 阳毅 实训项目要求 ...

  4. python飞机大战实训报告200_飞机大战实训报告.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp行业资料&nbsp>&nbsp航空/航天 飞机大战实训报告.doc22页 本文档一共被下载: ...

  5. mysql综训实训报告总结_实训报告总结收获.doc

    实训报告总结收获 实训报告总结收获实训报告总结收获篇一 <实训 收获总结报告> 实训总结报告 -----基于RFID的码头货物自动采集系统 项目简要概述: 1) 开发环境:Window x ...

  6. asp实训报告摘要_个人网站实训报告---asp.NET 动态网站设计

    个人网站实训报告---asp.NET 动态网站设计 网站开发技术实训报告 学生姓名 学 号 学 院 专 业 计算机应用技术计算机应用技术 题 目 asp.NET asp.NET 动态网站设计动态网站设 ...

  7. 堆垛实训报告总结_实训总结物流陈雪峰

    实训总结物流陈雪峰 文章<实训总结物流陈雪峰>是由[作文仓库]的会员[-那妞丶爷娶你可好i]为大家整理并分享的,仅供大家参考,欢迎阅读! 物流技术综合实训 实训名称 系/专 业 班 级 学 ...

  8. 期末Django项目实训报告

    一.实训项目 制作学生信息管理系统(students)并且实现该信息管理系统的增删改查 二.实训项目内容 (一)创建Django项目 - students 设置Django项目的位置与名称 (二)准备 ...

  9. javaee实训报告总结_程力汽车集团隆重召开专业厂暨集团成员厂上半年经营工作总结表彰会。2、程力集团专汽公告培训会圆满结束...

    程力汽车集团隆重召开专业厂暨集团成员厂上半年经营工作总结表彰会.       本报讯(特约通讯员邵斌.加玉涛报道)  近日,因受疫情影响,程力汽车集团专业厂暨集团成员厂上半年经营工作总结表彰会,在程力 ...

最新文章

  1. 0x0F19B7EC (ucrtbased.dll)处(位于 ex6.exe 中)引发的异常: 0xC0000005: 写入位置 0x00740000 时发生访问冲突。
  2. c语言微信昵称大全女生优雅经典的,微信昵称大全女生优雅_有深度有内涵的昵称...
  3. Mysql 8 逻辑升级详解
  4. SpringMQ的使用
  5. Android中为TextView增加自定义的HTML标签
  6. 程序员爱护自己身体的几点建议
  7. js包装类型的装箱拆箱
  8. 谷歌浏览器地址栏记录怎么删除 Chrome浏览器地址栏记录清除方法
  9. java初始化虚拟机错误_VM初始化期间发生错误;无法为对象堆保留足够的空间;无法创建Java虚拟机...
  10. jenkins未授权访问漏洞记录(端口:7001,80,8080,50000)
  11. CentOS7.4安装redis-3.2.6
  12. iOS:Xcode8以下真机测试iOS10.0和iOS10.1配置包
  13. php qq邮箱发送邮件报错_PHP实现发送邮件(二)
  14. protobuf序列化使用说明
  15. java数据类型简介
  16. hdu2825(状压dp+AC自动机)
  17. scrapy项目部署
  18. Java基础第三天复习
  19. alienware Win8 系统安装
  20. 蓄水池采样算法的python实现_蓄水池采样算法-Reservoir Sampling

热门文章

  1. 制作企业网站一般要花多少钱
  2. 广大程序员不要做外包
  3. three.js 画一个旋转的立方体
  4. Error: Your CLT does not support macOS 11.2 报错解决
  5. 大众点评CEO张涛:踏实创业 低调打造百亿级公司
  6. 太极·Magisk框架v4.1.3 安卓版
  7. LNMP架构和论坛搭建以及一键部署
  8. HSI, HSV,RGB,HSL,HSB,CMYK ,Ycc,XYZ,Lab,YUV空间的区别
  9. 使用 Pubchempy 一行命令从 Pubchem 数据库中批量下载化合物 3D 构象的 sdf 文件
  10. 家族关系查询系统程序设计算法思路_数据结构课程设计家族关系查询系统要点...