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 相关文章推荐
Cython 三分钟入门教程
Sep 17 Python
Python中处理unchecked未捕获异常实例
Jan 17 Python
基于python实现微信模板消息
Dec 21 Python
快速了解Python相对导入
Jan 12 Python
flask中主动抛出异常及统一异常处理代码示例
Jan 18 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
Python生成短uuid的方法实例详解
May 29 Python
python中使用iterrows()对dataframe进行遍历的实例
Jun 09 Python
win10系统下python3安装及pip换源和使用教程
Jan 06 Python
Python网络爬虫四大选择器用法原理总结
Jun 01 Python
Python numpy矩阵处理运算工具用法汇总
Jul 13 Python
如何使用PyCharm引入需要使用的包的方法
Sep 22 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
星际流派综述
2020/03/04 星际争霸
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
探讨如何使用SimpleXML函数来加载和解析XML文档
2013/06/07 PHP
linux下为php添加iconv模块的方法
2016/02/28 PHP
laravel请求参数校验方法
2019/10/10 PHP
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
JS库 Highlightjs 添加代码行号的实现代码
2017/09/13 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
vue中组件通信的八种方式(值得收藏!)
2019/08/09 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
JS绘图Flot如何实现可选显示曲线图功能
2020/10/16 Javascript
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
对numpy.append()里的axis的用法详解
2018/06/28 Python
python pygame实现五子棋小游戏
2020/10/26 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
pywinauto自动化操作记事本
2019/08/26 Python
django框架F&Q 聚合与分组操作示例
2019/12/12 Python
python turtle工具绘制四叶草的实例分享
2020/02/14 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
css3的动画特效之动画序列(animation)
2017/12/22 HTML / CSS
应届毕业生求职信范文
2013/12/18 职场文书
实习鉴定范文
2013/12/19 职场文书
应用英语专业自荐信
2014/01/26 职场文书
安全先进个人材料
2014/12/29 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
保护环境建议书作文500字
2015/09/14 职场文书
高一英语教学反思
2016/03/03 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
Python 高级库15 个让新手爱不释手(推荐)
2021/05/15 Python
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js