Python爬虫入门一之综述

大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章作为参考,也欢迎大家一共分享学习经验。

Python版本:2.7,Python 3请另寻其他博文。

首先爬虫是什么?

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。

根据我的经验,要学习Python爬虫,我们要学习的共有以下几点:

  • Python基础知识
  • Python中urllib和urllib2库的用法
  • Python正则表达式
  • Python爬虫框架Scrapy
  • Python爬虫更高级的功能

1.Python基础学习

首先,我们要用Python写爬虫,肯定要了解Python的基础吧,万丈高楼平地起,不能忘啦那地基,哈哈,那么我就分享一下自己曾经看过的一些Python教程,小伙伴们可以作为参考。

1) 慕课网Python教程

曾经有一些基础的语法是在慕课网上看的,上面附有一些练习,学习完之后可以作为练习,感觉效果还是蛮不错的,不过稍微遗憾的是内容基本上都是最基础的,入门开始的话,就这个吧

学习网址:慕课网Python教程(http://www.imooc.com/learn/177)

可以复制上面的链接到浏览器可以查看慕课网课程(下面文章出现链接一样)。

2) 廖雪峰Python教程

后来,我发现了廖老师的Python教程,讲的那是非常通俗易懂哪,感觉也是非常不错,大家如果想进一步了解Python就看一下这个吧。

学习网址:廖雪峰Python教程(http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000)

这个链接是python2.7的,同时廖老师还有python3的教程,大家在廖老师官网可以看得到。

3) 简明Python教程

还有一个我看过的,简明Python教程,感觉讲的也不错

学习网址:简明Python教程(http://www.kuqin.com/abyteofpython_cn/)

2.Python urllib和urllib2 库的用法

urllib和urllib2库是学习Python爬虫最基本的库,利用这个库我们可以得到网页的内容,并对内容用正则表达式提取分析,得到我们想要的结果。这个在学习过程中我会和大家分享的。

3.Python 正则表达式

Python正则表达式是一种用来匹配字符串的强有力的武器。它的设计思想是用一种描述性的语言来给字符串定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的。这个在后面的博文会分享的。

4.爬虫框架Scrapy

如果你是一个Python高手,基本的爬虫知识都已经掌握了,那么就寻觅一下Python框架吧,我选择的框架是Scrapy框架。这个框架有什么强大的功能呢?下面是它的官方介绍:

HTML, XML源数据 选择及提取 的内置支持 提供了一系列在spider之间共享的可复用的过滤器(即 Item Loaders),对智能处理爬取数据提供了内置支持。 通过 feed导出 提供了多格式(JSON、CSV、XML),多存储后端(FTP、S3、本地文件系统)的内置支持 提供了media pipeline,可以 自动下载 爬取到的数据中的图片(或者其他资源)。 高扩展性。您可以通过使用 signals ,设计好的API(中间件, extensions, pipelines)来定制实现您的功能。 内置的中间件及扩展为下列功能提供了支持: cookies and session 处理 HTTP 压缩 HTTP 认证 HTTP 缓存 user-agent模拟 robots.txt 爬取深度限制 针对非英语语系中不标准或者错误的编码声明, 提供了自动检测以及健壮的编码支持。 支持根据模板生成爬虫。在加速爬虫创建的同时,保持在大型项目中的代码更为一致。详细内容请参阅 genspider 命令。 针对多爬虫下性能评估、失败检测,提供了可扩展的 状态收集工具 。 提供 交互式shell终端 , 为您测试XPath表达式,编写和调试爬虫提供了极大的方便 提供 System service, 简化在生产环境的部署及运行 内置 Web service, 使您可以监视及控制您的机器 内置 Telnet终端 ,通过在Scrapy进程中钩入Python终端,使您可以查看并且调试爬虫 Logging 为您在爬取过程中捕捉错误提供了方便 支持 Sitemaps 爬取 具有缓存的DNS解析器

官方文档:http://doc.scrapy.org/en/latest/

等我们掌握了基础的知识,再用这个 Scrapy 框架吧!

扯了这么多,好像没多少有用的东西额,那就不扯啦!

本文分享自微信公众号 - zhisheng(zhisheng_blog)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-06-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

2017年8月编程语言排行榜:大数据时代,Python、Go依然强劲

TIOBE编程语言社区发布了 2017 年 8 月排行榜,和上个月相比,前五名没有变化,Java、C、C++、C# 和 Python 仍然稳定保持在前 5 的位...

38470
来自专栏ml

使用Anaconda搭建TensorFlow-GPU环境

前言:      对于深度学习来说,各种框架torch,caffe,keras,mxnet,tensorflow,pandapanda环境要求各一,如果我们在一...

3.2K110
来自专栏ml

python科学计算之numpy

1.np.logspace(start,stop,num): 函数表示的意思是;在(start,stop)间生成等比数列num个 eg:  import num...

39060
来自专栏ml

PIL遇到问题解决

PIL 全称:Pillow 在使用PIL4.2.1版本读取jpeg文件时,报cannot identify image file,去github源查找原因:ht...

30860
来自专栏ml

关于python使用threadpool中的函数单个参数和多个参数用法举例

1.对单个元素的函数使用线程池: # encoding:utf-8 __author__='xijun.gong' import threadpool de...

475120
来自专栏ml

降维之pca算法

pca算法:  算法原理: pca利用的两个维度之间的关系和协方差成正比,协方差为0时,表示这两个维度无关,如果协方差越大这表明两个维度之间相关性越大,因而降维...

35860
来自专栏ml

安装Python时遇到如下问题,解决方案

~$ sudo apt-get install python-pip 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息...

41080
来自专栏ml

评估一个预测模型性能通常都有那些指标

对于不同类型的模型,会有不同的评估指标,那么我们从最直接的回归和分类这两个类型,对于结果连续的回归问题, 一般使用的大致为:MSE(均方差),MAE(绝对平均差...

423110
来自专栏新智元

谷歌开源最大手动注释视频数据集和 TensorFlow 模型性能调优工具

【新智元导读】谷歌再度开放Youtube视频数据集——Youtube边界框(YouTube-BoundingBoxes),含23类共500万手动注释的、紧密贴合...

51880
来自专栏ml

关于python使用cv画矩形并填充颜色同时填充文字

font = cv2.FONT_HERSHEY_SIMPLEX # 使用默认字体 cv2.rectangle(im, (10, 10), (110, 11...

769150

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励