python爬虫回顾<一>:爬虫基本介绍,核心结构

学了一段时间的爬虫,现在就把我的一些经验分享给大家。学习爬虫的时候可以用本文作为适当的参考,有不当的或者不明确或者对本文有意见的地方都请大家指出,能让本文加以改正,更加完善。

python 版本2.7

爬虫的介绍

首先爬虫是什么 ?
在我看来 爬虫是能够自动联网 通过指定的方式获取网络上的一些信息 并把这些信息下载到本地的程序或脚本

那么爬虫的可爬取的范围有多少?
凡是能够通过浏览器获得的所有内容都能够爬取得到。

爬取的作用是什么?
爬取的作用是能够自动地获取自己想要的一些有价值的信息。

爬虫的核心结构
爬虫的核心结构有三点,请求,解析,以及存储

这三点会逐个单独的讲解

请求

浏览器是获取信息最常用的方式之一,爬虫的原理和浏览器的原理在某些地方是一致的
那么我们首先了解通过浏览器是怎样获取信息的
以简书为例 首先在浏览器的导航栏里输入http://www.jianshu.com/ 然后按下回车键 ,内容就出来了,当然还可能有其他的内容之类的。回过头来,我们要获取简书的内容,首先得提前通知简书服务器我要访问你啦,你把你的首页的数据给我,让我可以浏览。这种提前通知的方式,就是请求。

我请求简书首页的数据,简书服务器表示我收到了,然后顺着你的IP的地址就给你发过来了。

然后简书搜索框和以及其他内容就会被渲染出来。

学过WEB的肯定知道,百度首页或者说绝大多数网页的内容数据都是通过HTML+CSS以及数据库的数据来组合在一起的。那么为什么浏览器上面没有这些标签呢,这个大家肯定知道,是因为浏览器渲染了这些数据,至于是怎么渲染的那么是另一回事了。那么没有经过渲染的数据就是源码,而我们爬取得到的就是网页的源码。
然后我们可以看看这些源码,拥有非常多的标签在里面,但是我们并不需要。
这时候需要通过解析的方式获取我们想要的数据了。

解析

如何才能在这些网页源代码中找到我们需要的数据呢,就得用解析了。
我解析的方式一般有两种,一种是正则表达式,而另外一种则是DOM树+XPATH。而我现在主要用的方式则是第二种。两种方式的区别是我用一个例子来阐述,A和B夫妻给全家卖了圣诞礼物,儿子C问属于他的那份在哪,母亲A告诉儿子,礼物是在一个红色礼物和一个黄色礼物之间,父亲B告诉儿子礼物是在所有方形礼物盒中的最小的那份。正则表达式就是例子中的A方法,DOM树+XPATH则是B方法。

在我看来 正则表达式倾向于一维位置的搜索,而DOM树更倾向于二维特征的搜索。

储存

针对定位后的数据的存储就很好办了,只要定位数据后把数据保存到本地即可。
也可以直接print到终端,或者保存到TXT文本中,或者数据库中都是可以的。

接下来将会用几个程序来讲讲是如何爬取的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • 1 前言 作为一名合格的数据分析师,其完整的技术知识体系必须贯穿数据获取、数据存储、数据提取、数据分析、数据挖掘、...
    whenif阅读 18,106评论 45 523
  • 《山木篇》 方舟而济于河,有虚船来触舟,虽有惼心之人不怒。 有一人在其上,则呼张歙之;一呼而不闻,再呼而不闻,于是...
    一叶虚舟阅读 488评论 0 1
  • 低频的心跳,静止了呼吸,溺在雨中,没有挣扎,即将没落。因我深知死而后生的含义 。
    张雨勋阅读 234评论 0 6
  • 今天订了下个星期去武汉培训的火车票,真是不好意思说,这是我第一次买高铁票,当然也将是第一次乘坐高铁,而且还是因为工...
    邹小芝阅读 367评论 2 5