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 相关文章推荐
Python3实现连接SQLite数据库的方法
Aug 23 Python
python实现忽略大小写对字符串列表排序的方法
Sep 25 Python
使用Python的Twisted框架编写简单的网络客户端
Apr 16 Python
在Python的一段程序中如何使用多次事件循环详解
Sep 07 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
Jun 23 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
Oct 14 Python
Python字节单位转换实例
Dec 05 Python
Python对Tornado请求与响应的数据处理
Feb 12 Python
Python3 selenium 实现QQ群接龙自动化功能
Apr 17 Python
python 异步async库的使用说明
May 04 Python
Python venv虚拟环境配置过程解析
Jul 08 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
解析PHP中的file_get_contents获取远程页面乱码的问题
2013/06/25 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
js获取div高度的代码
2008/08/09 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
javascript求日期差的方法
2016/03/02 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
自己封装的一个简单的倒计时功能实例
2016/11/23 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
基于JavaScript实现简单的音频播放功能
2018/01/07 Javascript
在vue中,v-for的索引index在html中的使用方法
2018/03/06 Javascript
JavaScript实现仿Clock ISO时钟
2018/06/29 Javascript
用Node编写RESTful API接口的示例代码
2018/07/04 Javascript
微信小程序实现图片上传放大预览删除代码
2020/06/28 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
详解Python中的多线程编程
2015/04/09 Python
django静态文件加载的方法
2018/05/20 Python
Python操作redis实例小结【String、Hash、List、Set等】
2019/05/16 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
python如何实现单链表的反转
2020/02/10 Python
小女主人连衣裙:Little Mistress
2017/07/10 全球购物
Gap工厂店:Gap Factory
2017/11/02 全球购物
墨尔本照明批发商店:Mica Lighting
2017/12/28 全球购物
Capitol Lighting的1800lighting.com:住宅和商业照明
2019/04/10 全球购物
Wedgwood英国官方网站:英式精致骨瓷餐具、礼品与生活精品,源于1759年
2019/09/02 全球购物
小学生清明节演讲稿
2014/09/05 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
MySQL自定义函数及触发器
2022/08/05 MySQL