【爬虫系列】一些碎碎念的基础认知(1)

引言

互联网时代的一些主流搜索引擎(如百度、Google、搜狗、360等)都有强大的网络爬虫系统构建索引数据库。这些搜索引擎平台各自研发了专属的网页抓取工具,例如360安全浏览器采用360Spider,搜狗部署Sogouspider等。根据应用场景和技术特性的不同,网络爬虫主要分为三大技术类型:

  1. 通用网络爬虫:要遵守robots协议
  2. 聚焦网络爬虫:与通用的区别是会对网页内容进行筛选和处理。
  3. 增量式网络爬虫:对已下载网页采取增量式更新,只爬取新产生的或者已经发生变化网页的爬虫程序。

应用:

1)数分 2)商业

流程:

(记得尽量伪装成人访问网站的样子,否则就会被网站的反爬策略限制)

  • 先由 urllib 模块的 request 方法打开 URL 得到网页 HTML 对象。
  • 使用浏览器打开网页源代码分析网页结构以及元素节点。
  • 通过 Beautiful Soup 或则正则表达式提取数据。
  • 存储数据到本地磁盘或数据库。

基础知识

网页一般由三部分构成:HTML (超文本标记语言)负责定义网页的内容、CSS(层叠样式表) 负责描述网页的布局、JavaScript (动态脚本语言)负责网页的行为。
HMTL(上几篇博文有写一些基础知识,此处作简单陈述)

DOCTYPE html> 声明为 HTML5 文档
<html>..html> 是网页的根元素
<head>..head> 元素包含了文档的元(meta)数据,如 <meta charset="utf-8"> 定义网页编码格式为 utf-8。
<title>..<title> 元素描述了文档的标题
<body>..body> 表示用户可见的内容
<div>..div> 表示框架
<p>..p> 表示段落
<ul>..ul> 定义无序列表
<ol>..ol>定义有序列表
<li>..li>表示列表项
<img src="" alt="">表示图片
<h1>..h1>表示标题
<a href="">..a>表示超链接

CSS(还是分三种,行内样式、内嵌式和外联样式)

 
    <style type="text/css">
    
    body{
        background-color:yellow;
    }
    p{
        font-size: 30px;
        color: springgreen;
    }
    style>

<h1 style="color: blue;">csdn海苔冲冲冲h1>
外联样式表指的是将 CSS 代码单独保存为以 .css 结尾的文件,并使用 <link> 引入到所需页面
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
head>

JavaScirpt


<script>
    function DisplayDate(){
        document.getElementById("time").innerHTML=Date()
    }
script>

网页

静态网页:标准的 HTML 文件,通过 GET 请求方法可以直接获取,文件的扩展名是.html、.htm等。通过分析静态网页的 URL,并找到 URL 查询参数的变化规律,就可以实现页面抓取。

动态网页:采用了动态网页技术的页面,比如AJAX、ASP、JSP等技术,不需要重新加载整个页面内容,就可以实现网页的局部更新。动态网页中除了有 HTML 标记语言外,还包含了一些特定功能的代码。这些代码使得浏览器和服务器可以交互,服务器端会根据客户端的不同请求来生成网页,其中涉及到数据库的连接、访问、查询等一系列 IO 操作。

抓取动态网页的过程较为复杂,需要通过动态抓包来获取客户端与服务器交互的 JSON 数据。抓包时,可以使用F12,然后点击 XHR,找到获取 JSON 数据的 URL
【爬虫系列】一些碎碎念的基础认知(1)_第1张图片
当然用fiddler也ok。

网页元素审查

F12—点击最上面的带箭头的框—点击页面上想查找的位置—单击
【最后在该代码段处点击右键,在出现的会话框中选择 复制 ,并在二级会话框内选择复制元素。】
【爬虫系列】一些碎碎念的基础认知(1)_第2张图片
通过这一步也可以更改网页代码,检查网页结构。

HTTP协议

模型层

应用层 为应用程序提供服务
表示层 数据格式转化、数据加密
会话层 建立、管理和维护会话
传输层 建立、管理和维护端到端的连接
网络层 IP选址及路由选择
数据链路层 提供介质访问和链路管理
物理层 物理层

爬虫之前记得配置好python环境和pycharm IDE工具

你可能感兴趣的:(爬虫系列,爬虫)