爬虫篇(1):学习爬虫的必须要知道的概念






前言


本篇文章是对网络爬虫概念以及的基本介绍,目的是让同学们对网络爬虫有个初步的了解以及知道网络爬虫的“盗亦有道”(不能去的某些信息)。


具体如何实现,如何去写,将从下篇文章开讲。





什么是网络爬虫

网络爬虫,也叫网络蜘蛛(Web Spider),如果把互联网比喻成一个蜘蛛网,Spider就是一只在网上爬来爬去的蜘蛛。


网络爬虫就是根据网页的地址来寻找网页的,也就是URL。


举一个简单的例子,我们在浏览器的地址栏中输入的字符串就是URL,例如:https://www.baidu.com/


    URL就是统一资源定位符(Uniform Resource Locator),它的一般格式如下(带方括号[]的为可选项):


    protocol :// hostname[:port] / path / [;parameters][?query]#fragment


    URL的格式由三部分组成:


    (1)protocol:第一部分就是协议,例如百度使用的就是https协议;


    (2)hostname[:port]:第二部分就是主机名(还有端口号为可选参数),一般网站默认的端口号为80,例如百度的主机名就是www.baidu.com,这个就是服务器的地址;


    (3)path:第三部分就是主机资源的具体地址,如目录和文件名等。


    网络爬虫就是根据这个URL来获取网页信息的。




网络爬虫的流程

(1)获取网页就是给一个网址发送请求,该网址会返回整个网页的数据。类似于在浏览器中键入网址并按回车键,然后可以看到网站的整个页面。


(2)解析网页就是从整个网页的数据中提取想要的数据。类似于在浏览器中看到网站的整个页面,但是你想找的是产品的价格,价格就是你想要的数据。


(3)存储数据也很容易理解,就是把数据存储下来。我们可以存储在csv中,也可以存储在数据库中。





流程的技术实现

下面的技术实现方法都是使用Python 语言实现的,对于Java等其他语言本书并不涉及。


1.获取网页

获取网页的基础技术:request、urllib和selenium(模拟浏览器)。

获取网页的进阶技术:多进程多线程抓取、登录抓取、突破IP封禁和服务器抓取。


2.解析网页

解析网页的基础技术:re正则表达式、BeautifulSoup和lxml。

解析网页的进阶技术:解决中文乱码。


3.存储数据

存储数据的基础技术:存入txt文件和存入csv文件。

存储数据的进阶技术:存入MySQL数据库和存入MongoDB数据库。


对于上述技术不熟悉的读者也不必担心,本教程将会对其中所有的技术进行讲解,力求做到深入浅出。





爬虫有风险,爬取需谨慎

《刑法》第285条,非法获取计算机信息系统数据罪。


获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,处三年以下有期徒刑或者拘役,并处或者单处罚金;

最高处七年有期徒刑并处罚金。


《刑法》第285条是对爬取数据的主要定罪依据,有兴趣可以去查下中华人民共和国刑法。





网络爬虫的“盗亦有道”

再来看下网页对网络爬虫的限制,主要有两种:


来源审查:判断User-Agent进行限制检查来访HTTP协议头的User-Agent域,只响应浏览器或友好爬虫的访问


发布公告:Robots协议

告知所有爬虫网站的爬取策略,要求爬虫遵守




robots协议

Robots Exclusion Standard,网络爬虫排除标准。


作用:

网站告知网络爬虫哪些页面可以抓取,哪些不行


形式:

在网站根日录下的robots.txt文件




#京东robots.txt
User-agent: * Disallow: /?* Disallow: /pop/*.html Disallow: /pinpai/*.html?* User-agent: EtaoSpider Disallow: / User-agent: HuihuiSpider Disallow: / User-agent: GwdangSpider Disallow: / User-agent: WochachaSpider Disallow: /

来分析下这段内容的含义:


User-agent: *
Disallow: /?*
Disallow: /pop/*.html
Disallow: /pinpai/.html?



这一段的意思对于任何爬虫,均不能访问后缀为/?,/pop/.html,/pinpai/.html? 的网页


User-agent: EtaoSpider
Disallow: /
User-agent: HuihuiSpider
Disallow: /
User-agent: GwdangSpider
Disallow: /
User-agent: WochachaSpider
Disallow: /

这几段的意思是EtaoSpider,HuihuiSpider,GwdangSpider,WochachaSpider这几个网络爬虫不能访问京东的任何页面。




关注【panda一块砖】,回复【python爬虫】,即可获取经典爬虫入门电子书《PYTHON网络爬虫从入门到实践.pdf》


参考资料:

1、《python网络爬虫从入门到实践》

2、嵩天老师python爬虫MOOC






©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容