如何入门 Python 爬虫

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何入门 Python 爬虫相关的知识,希望对你有一定的参考价值。

链接:https://pan.baidu.com/s/1wMgTx-M-Ea9y1IYn-UTZaA

提取码:2b6c

课程简介

毕业不知如何就业?工作效率低经常挨骂?很多次想学编程都没有学会?

Python 实战:四周实现爬虫系统,无需编程基础,二十八天掌握一项谋生技能。

带你学到如何从网上批量获得几十万数据,如何处理海量大数据,数据可视化及网站制作。

课程目录

开始之前,魔力手册 for 实战学员预习

第一周:学会爬取网页信息

第二周:学会爬取大规模数据

第三周:数据统计与分析

第四周:搭建 Django 数据可视化网站

......

参考技术A 从爬虫必要的几个基本需求来讲:
1.抓取
  python的urllib不一定去用,但是要学,如果还没用过的话。
  比较好的替代品有requests等第三方更人性化、成熟的库,如果pyer不了解各种库,那就白学了。
  抓取最基本就是拉网页回来。
  如果深入做下去,会发现要面对不同的网页要求,比如有认证的,不同文件格式、编码处理,各种奇怪的url合规化处理、重复抓取问题、cookies跟随问题、多线程多进程抓取、多节点抓取、抓取调度、资源压缩等一系列问题。
  所以第一步就是拉网页回来,慢慢会发现各种问题待优化。
2.存储
  抓回来一般会用一定策略存下来,而不是直接分析,个人觉得更好的架构应该是把分析和抓取分离,更加松散,每个环节出了问题能够隔离另外一个环节可能出现的问题,好排查也好更新发布。
  那么存文件系统、SQLorNOSQL数据库、内存数据库,如何去存就是这个环节的重点。
  可以选择存文件系统开始,然后以一定规则命名。
3.分析
  对网页进行文本分析,提取链接也好,提取正文也好,总之看的需求,但是一定要做的就是分析链接了。
  可以用认为最快最优的办法,比如正则表达式。
  然后将分析后的结果应用与其他环节:)
4.展示
  要是做了一堆事情,一点展示输出都没有,如何展现价值。
  所以找到好的展示组件,去show出肌肉也是关键。
  如果为了做个站去写爬虫,抑或要分析某个东西的数据,都不要忘了这个环节,更好地把结果展示出来给别人感受。
参考技术B “入门”是良好的动机,但是可能作用缓慢。如果你手里或者脑子里有一个项目,那么实践起来你会被目标驱动,而不会像学习模块一样慢慢学习。

另外如果说知识体系里的每一个知识点是图里的点,依赖关系是边的话,那么这个图一定不是一个有向无环图。因为学习A的经验可以帮助你学习B。因此,你不需要学习怎么样“入门”,因为这样的“入门”点根本不存在!你需要学习的是怎么样做一个比较大的东西,在这个过程中,你会很快地学会需要学会的东西的。当然,你可以争论说需要先懂python,不然怎么学会python做爬虫呢?但是事实上,你完全可以在做这个爬虫的过程中学习python :D

看到前面很多答案都讲的“术”——用什么软件怎么爬,那我就讲讲“道”和“术”吧——爬虫怎么工作以及怎么在python实现。

先长话短说summarize一下:
你需要学习

基本的爬虫工作原理
基本的http抓取工具,scrapy
Bloom Filter: Bloom Filters by Example
如果需要大规模网页抓取,你需要学习分布式爬虫的概念。其实没那么玄乎,你只要学会怎样维护一个所有集群机器能够有效分享的分布式队列就好。最简单的实现是python-rq:https://github.com/nvie/rq
rq和Scrapy的结合:darkrho/scrapy-redis · GitHub
后续处理,网页析取(grangier/python-goose · GitHub),存储(Mongodb)本回答被提问者和网友采纳

以上是关于如何入门 Python 爬虫的主要内容,如果未能解决你的问题,请参考以下文章

如何入门 Python 爬虫?

如何入门 Python 爬虫

如何入门 Python 爬虫

如何入门 Python 爬虫

如何入门 Python 爬虫

如何入门 Python 爬虫