阅读 409

01 Python爬虫--爬虫的基本介绍

一、爬虫的基本介绍

这是我参与更文挑战的第3天,活动详情查看: 更文挑战

1. 什么是爬虫?

爬虫的实质是: 模拟浏览器自动发送网络请求并接收响应的程序
复制代码

爬虫的开发实例:1.百度新闻 2.拼多多 3.招聘网站 4.视频网站,音乐网站,小说网站,文库网站

2. 爬虫分类

a.	通用爬虫---->针对所有网站都可以使用爬虫程序<搜索引擎>
搜索引擎流程:抓取网页--->数据存储--->预处理--->提供检索服务,网站排名
		
b.	聚焦爬虫---->针对特定网站的爬虫
聚集爬虫流程:url list--->响应内容--->提取数据--->入库     响应内容--->提取url--->url list
复制代码

3. 爬虫的工作流程

a.先找到目标
b.发送网络请求并接收响应
c.处理数据入库
d.分析统筹/数据展示
复制代码

4. robots协议

robots告诉蜘蛛程序在服务器上什么文件是可以被查看的,什么可以被爬取的,针对爬虫程序的君子协议。

<玩爬虫一定要流氓>
复制代码

5. 数据的来源?

a.从第三方公司购买
b.免费的网站的获取
c.通过爬虫获取
d.通过人力收集
E.很多的第三方公司的数据往往也是通过爬虫获取到的
复制代码

6. 数据用途

a.人工智能和大数据分析
b.做数据统筹
c.做数据展示例如:百度新闻
复制代码

7. 网络基础知识

如何访问一个网站?
a.打开浏览器输入网址
b.浏览器会将网站网址发送到远程的DNS服务器进行解析,返回给浏览器该网站对应的主机IP地址和端口号
c.浏览器将ip和端口进行组合访问指定的主机
d.远程主机(服务器)识别用户的意图,返回给浏览器用户需要的数据(HTML, CSS, 脚本, 视频音频图片等等)
e.浏览器接收这些数据组合渲染呈现在浏览器上
复制代码

8. URL

URL全拼为(Uniform Resoure Locator)表达的意思为统一资源定位符,通俗理解:网络的资源地址(网站网址)
URL的三大组成部分
  			协议部分:HTTP和HTTPS  互联网上的通讯协议
           		一个是安全(HTTPS)一个数不安全(HTTP)
           		HTTPS底层:HTTP + SSL套接字
  			域名部分:主机的IP地址和开发的端口号
           		对于HTTP协议开发的端口为80
           		对于HTTPS协议开发的端口为443
  			资源路径部分:访问的数据在服务器中的具体位置
  				协议://域名/资源路径/?#
  			注意重点:/表示服务器的根目录<对于网站大部分后台的操作系统为Linux,对于Linux系统来说只有一个目录也就是根目录(/)>

例如:http://127.0.0.1:8000/?a/#b/c/d
?表示查询字符串:在指定路径下查找特定的文件或者数据
    	#表示当前网站的页内连接也称之为锚点

复制代码

9. DNS

由于我们老用域名识别计算机的位置,但是网络上识别主机的唯一标志是IP地址,所以就需要记录每一域名所对应的地址DNS服务器会将域名所对应的IP地址保存起来,方便用户直接通过域名就可以访问网站,而不是IP地址ping  1.检查是否连接通信  2.通过解析域名(访问DNS)
复制代码

10. 浏览器的使用

底层:想远程的主机发送网络通信请求(借助HTTP或者HTTPS完成),接收远程主机返回的数据浏览器可以查看该网站的源码,测试脚本,查看网站资源,以及自动抓包打开浏览器的后台<开发者工具> F12 / FN+F12a.网页元素(Elements):现实当前网站源码b.控制台(Console):执行或者测试当前网站的脚本    			alert();  弹窗指令    			https://www.w3school.com.cn/js/index.aspc.资源(Sources):可以用来查看当前网站的所有资源(HTML,CSS,JS等)d.网络抓包工具(Network):可以捕捉到当前网站发送或者接收所有响应信息XHR:可以用来查看所有的脚本请求或者异步请求(AJAX)DOC:1.查看网站的文档内容 2.用来查看网站域名的请求
复制代码

11. 网站请求的方式

增:向服务器提交数据(登录和注册)  post请求查:从服务器得到数据(大多数网站都是使用该请求)  get请求
复制代码

12. 常见请求状态码

200 请求成功404 找不到系统资源/请求失败307/302:请求跳转500/503:服务器内部错误(爬虫被反爬了)
复制代码

13. 页面上的数据在哪里

当前url地址对应的响应中其他的url地址对应的响应中	比如ajax请求中js生成的	部分数据在响应中	全部通过js生成
复制代码
文章分类
后端
文章标签