python编写简单爬虫资料汇总


Posted in Python onMarch 22, 2016

爬虫真是一件有意思的事儿啊,之前写过爬虫,用的是urllib2、BeautifulSoup实现简单爬虫,scrapy也有实现过。最近想更好的学习爬虫,那么就尽可能的做记录吧。这篇博客就我今天的一个学习过程写写吧。

一 正则表达式

正则表达式是一个很强大的工具了,众多的语法规则,我在爬虫中常用的有:

. 匹配任意字符(换行符除外)
* 匹配前一个字符0或无限次
? 匹配前一个字符0或1次
.* 贪心算法
.*? 非贪心算法
(.*?) 将匹配到的括号中的结果输出
\d 匹配数字
re.S 使得.可以匹配换行符

常用的方法有:find_all(),search(),sub()

对以上语法方法做以练习,代码见:https://github.com/Ben0825/Crawler/blob/master/re_test.py

二 urllib和urllib2

urllib和urllib2库是学习Python爬虫最基本的库,利用该库,我们可以得到网页的内容,同时,可以结合正则对这些内容提取分析,得到真正想要的结果。

在此将urllib和urllib2结合正则爬取了糗事百科中的作者点赞数内容。

代码见:https://github.com/Ben0825/Crawler/blob/master/qiubai_test.py

三 BeautifulSoup

BeautifulSoup是Python的一个库,最主要的功能是从网页抓取数据,官方介绍是这样的:

Beautiful Soup 提供一些简单的、python 式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup 自动将输入文档转换为 Unicode 编码,输出文档转换为 utf-8 编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup 就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

Beautiful Soup 已成为和 lxml、html6lib 一样出色的 python 解释器,为用户灵活地提供不同的解析策略或强劲的速度。

首先:爬取百度百科Python词条下相关的100个页面,爬取的页面值自己设定。

代码详见:https://github.com/Ben0825/Crawler/tree/master/python_baike_Spider

代码运行:

python编写简单爬虫资料汇总

 python编写简单爬虫资料汇总

巩固篇,依据豆瓣中图书的标签得到一个书单,同样使用BeautifulSoup。

代码详见:https://github.com/Ben0825/Crawler/blob/master/doubanTag.py

运行结果:

python编写简单爬虫资料汇总

 以上就是今天学习的一些内容,爬虫真的很有意思啊,明天继续学scrapy!

Python 相关文章推荐
python self,cls,decorator的理解
Jul 13 Python
python中文乱码的解决方法
Nov 04 Python
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
python使用PyGame绘制图像并保存为图片文件的方法
Apr 24 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
Python三种遍历文件目录的方法实例代码
Jan 19 Python
python 限制函数调用次数的实例讲解
Apr 21 Python
Python实现的基于优先等级分配糖果问题算法示例
Apr 25 Python
Python minidom模块用法示例【DOM写入和解析XML】
Mar 25 Python
python 爬取小说并下载的示例
Dec 07 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 Python
python基础之模块的导入
Oct 24 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
Mar 21 #Python
Python中的条件判断语句与循环语句用法小结
Mar 21 #Python
举例讲解Python中的迭代器、生成器与列表解析用法
Mar 20 #Python
深入解析Python中函数的参数与作用域
Mar 20 #Python
总结Python编程中函数的使用要点
Mar 20 #Python
两个命令把 Vim 打造成 Python IDE的方法
Mar 20 #Python
Python中列表、字典、元组数据结构的简单学习笔记
Mar 20 #Python
You might like
BBS(php & mysql)完整版(六)
2006/10/09 PHP
PHP+DBM的同学录程序(2)
2006/10/09 PHP
PHPAnalysis中文分词类详解
2014/06/13 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
深入讲解PHP的Yii框架中的属性(Property)
2016/03/18 PHP
PHP实现的简单在线计算器功能示例
2017/08/02 PHP
关于URL中的特殊符号使用介绍
2011/11/03 Javascript
javascript数组去重方法终极总结
2014/06/05 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
JS 作用域与作用域链详解
2015/04/07 Javascript
jquery事件的ready()方法使用详解
2015/11/11 Javascript
在javascript中使用com组件的简单实现方法
2016/08/17 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
2016/12/24 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
使用DataTable插件实现异步加载数据
2017/11/19 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
2019/08/13 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
深入理解NumPy简明教程---数组1
2016/12/17 Python
Python数据结构之翻转链表
2017/02/25 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Python 实现PS滤镜的旋涡特效
2020/12/03 Python
canvas需要在标签里直接定义宽高
2014/12/17 HTML / CSS
小学生中国梦演讲稿
2014/04/23 职场文书
小学英语课后反思
2014/04/26 职场文书
学校感恩教育活动总结
2014/07/07 职场文书
机关领导查摆四风思想汇报
2014/09/13 职场文书
个人贷款收入证明
2014/10/26 职场文书
电影雷锋观后感
2015/06/10 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书