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复制与引用用法分析
Apr 08 Python
python通过socket查询whois的方法
Jul 18 Python
对python append 与浅拷贝的实例讲解
May 04 Python
tensorflow 输出权重到csv或txt的实例
Jun 14 Python
python 处理微信对账单数据的实例代码
Jul 19 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
django创建最简单HTML页面跳转方法
Aug 16 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
Oct 14 Python
Python单元测试与测试用例简析
Nov 09 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
python--shutil移动文件到另一个路径的操作
Jul 13 Python
python 调用js的四种方式
Apr 11 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
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
PHP抓取、分析国内视频网站的视频信息工具类
2014/04/02 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
Yii1.1框架实现PHP极光推送消息通知功能
2018/09/06 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
js选择并转移导航菜单示例代码
2014/08/19 Javascript
javascript 判断整数方法分享
2014/12/16 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
轻松学习jQuery插件EasyUI EasyUI创建树形网络(1)
2015/11/30 Javascript
vue的props实现子组件随父组件一起变化
2016/10/27 Javascript
AngularJS入门教程之数据绑定用法示例
2016/11/01 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
JS正则替换掉小括号及内容的方法
2016/11/29 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
js判断一个对象是数组(函数)的方法实例
2019/12/19 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
[51:15]2014 DOTA2国际邀请赛中国区预选赛 Orenda VS LGD-GAMING
2014/05/22 DOTA
python安装与使用redis的方法
2016/04/19 Python
python距离测量的方法
2018/03/06 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
《中国的气候》教学反思
2014/02/23 职场文书
说明书怎么写
2014/05/06 职场文书
工地宣传标语
2014/06/18 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
车辆委托书范本
2014/10/05 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
公司前台接待岗位职责
2015/04/03 职场文书