分享

一、学爬虫前,你需要知道的爬虫常识

 东西二王 2020-06-13

@Author : By Runsen

@Author : 2020/5/16

我决定把去年写的关于Python爬虫文章整理一个专栏,垃圾的就直接删除,将多篇博文整理成一篇,还补充一下其他的东西。

零基础Python专栏,到底写了什么内容

希望大家都是Python大牛。

1、 HTML

HTML被称为超文本标记语言,有着一系列的标签,这些标签的组合可以显示出文字,图片,视频等内容。我们平时访问的网页,就是通过html编写的。但是想要像我们看到的网页那样漂亮,我们需要为文档添加css样式。如果想要漂亮的动画效果,想要图片能够自动播放,想要点击出现一些反馈,就需要JavaScript来编写脚本啦。

2 、CSS

css能够对网页中的各种元素(这种元素即我们提到的HTML标签),我们可以通过它来设置背景颜色,设置元素的大小位置,设置字体的排版等等。

3、 JavaScript

我们简称它为js,js的运行需要靠浏览器来运行。它是一种脚本语言,具有即时编译的特点。js可以做一些动态的操作,比如添加一个元素,改变元素的内容,改变css样式。

一、学爬虫前,你需要知道的爬虫常识

4、HTML标签

下面我写了一些常用的HTML标签

<body>   <!--格式化内容标签-->    <br />换行    <hr />水平线    <strong>加粗字体</strong>    <del>删除字体</del>    <big>大号字体</big>    <!--HTML5已经删除-->    <small>小号字体</small>    <sub>下标字体</sub>    <sup>上标字体</sup>    <ins>插入字体</ins>    <em >斜体着重</em>    <i>斜体</i>     空格©版权符'引号>大于号<小于号   <!--图片标签,当图片加载有问题时,显示alt内容-->    <img src='img/eyes.png' alt='图像代替文字' title='鼠标悬停文字' width='40px' height='20px' />       <!--超链接标签,target跳转方式,_blank新的页面,_slef当前页面-->    <a href='#' target='_blank'>内容</a>    <!--锚链接使用方法:跳转当前页添加name或者id属性,不同页面跳转需要添加地址-->    <a name='marker'>A位置</a>    <a href='#marker'>回到A位置</a>    <a href='2.html#hhh'>回到新的页面</a>    <!--表格属性:border边框,cellpadding表格内容与边框的距离,cellspacing单元格之间的距离        表格合并单元格:colspan合并行,rowspan合并列    -->    <table border='1' cellpadding='0' cellspacing='0'>        <tr >            <td colspan='2'>1</td>        </tr>        <tr>            <td rowspan='2'>3</td>            <td>4</td>        </tr>        <tr>            <td>6</td>        </tr>    </table>    <!--无序列表,无数字-->    <ul>        <li>1</li>        <li>2</li>    </ul>    <!--有序列表,带数字-->    <ol>        <li>1</li>        <li>2</li>    </ol>    <!--定义列表,自定义标题和内容-->    <dl>标题1</dl>    <dd>内容1</dd>    <dd>内容2</dd>    <dl>标题2</dl>    <dd>内容1</dd>    <dd>内容2</dd> </body>

想了解更多的看我下面这篇

一、前端必须掌握HTML的基础知识

5、 选择器

在 CSS 中,我们使用 CSS 选择器来定位节点。例如,下图中 div 节点的 id 为 asideProfile,那么就可以表示为 #asideProfile,其中 # 开头代表选择 id,其后紧跟 id 的名称。

一、学爬虫前,你需要知道的爬虫常识

另外,如果我们想选择 class 为aside-box的节点,便可以使用 .aside-box,这里以点“.”开头代表选择 class,其后紧跟 class 的名称。

6、爬虫原理

互联网就是一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛。如果把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系。

爬虫首先要做的工作就是获取网页,这里就是获取网页的源代码。获取网页源代码后,接下来就是分析网页源代码,从中提取我们想要的数据。

提取信息后,我们可以简单保存为 TXT 文本或 JSON 文本,也可以保存到数据库,如 MySQL 和 MongoDB 等,还可保存至远程服务器。

7、JavaScript 渲染页面

现在网页越来越多地采用 Ajax、前端模块化工具来构建,整个网页可能都是由 JavaScript 渲染出来的,也就是说原始的 HTML 代码就是一个空壳。

网页请求这个js文件,获取到该文件后,便会执行其中的 JavaScript 代码,而 JavaScript 则会改变 HTML 中的节点,向其添加内容,最后得到完整的页面。

对于,可以通过selenium或者找到Ajax的请求地址就可以解决。

8、加密

爬取网站的时候,经常会遇到各种各样类似加密的情形,比如:字体加密,构造参数加密, 想要抓取就必须要懂得找到对应的js文件,研究这些参数是怎么构造的,现在对于更多更全的信息都是通过 App 来展示的。一些 App 在内部实现的时候对代理加了一些校验,如绕过系统代理直接连接或者检测到了使用了代理,直接拒绝连接。这需要考虑使用 Wireshark、Tcpdump 在更底层的协议上抓包。

之后将以前的文章全部整理,反复巩固。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多