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批量同步web服务器代码核心程序
Sep 01 Python
python实现获取序列中最小的几个元素
Sep 25 Python
在Python中关于中文编码问题的处理建议
Apr 08 Python
Python本地与全局命名空间用法实例
Jun 16 Python
python算法演练_One Rule 算法(详解)
May 17 Python
Python 实现数据库更新脚本的生成方法
Jul 09 Python
pygame游戏之旅 游戏中添加显示文字
Nov 20 Python
通过python改变图片特定区域的颜色详解
Jul 15 Python
简单了解python gevent 协程使用及作用
Jul 22 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
MATLAB 全景图切割及盒图显示的实现步骤
May 14 Python
python热力图实现的完整实例
Jun 25 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
我的论坛源代码(六)
2006/10/09 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
PHP的PDO常用类库实例分析
2016/04/07 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
tagName的使用,留一笔
2006/06/26 Javascript
BootStrap智能表单实战系列(四)表单布局介绍
2016/06/13 Javascript
第九篇Bootstrap导航菜单创建步骤详解
2016/06/21 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
javascript跳转与返回和刷新页面的实例代码
2019/11/20 Javascript
[01:32]2016国际邀请赛中国区预选赛CDEC战队教练采访
2016/06/26 DOTA
利用python代码写的12306订票代码
2015/12/20 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
Python使用pymongo模块操作MongoDB的方法示例
2018/07/20 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
修改 CentOS 6.x 上默认Python的方法
2019/09/06 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
浅谈django channels 路由误导
2020/05/28 Python
详解python tkinter 图片插入问题
2020/09/03 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
英国第一蛋白粉品牌:Myprotein
2016/09/14 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
承认错误的检讨书
2014/01/30 职场文书
工程开工庆典邀请函
2014/02/01 职场文书
渡河少年教学反思
2014/02/12 职场文书
委托证明书
2014/09/17 职场文书
见习报告格式要求
2014/11/04 职场文书
地陪导游欢迎词
2015/01/26 职场文书
毕业感言怎么写
2015/07/31 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
PHP中多字节字符串操作实例详解
2021/08/23 PHP