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 CGI脚本的教程
Jun 29 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
Jun 23 Python
python字符串过滤性能比较5种方法
Jun 22 Python
深入理解python中函数传递参数是值传递还是引用传递
Nov 07 Python
python读取中文txt文本的方法
Apr 12 Python
详解Python locals()的陷阱
Mar 26 Python
Python面向对象程序设计多继承和多态用法示例
Apr 08 Python
python实现XML解析的方法解析
Nov 16 Python
python第三方库学习笔记
Feb 07 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
Mar 16 Python
Python常用断言函数实例汇总
Nov 30 Python
Python3 类型标注支持操作
Jun 02 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怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
2016/07/07 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
YII框架常用技巧总结
2019/04/27 PHP
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
jquery简单实现鼠标经过导航条改变背景图
2013/12/17 Javascript
使用jQuery或者原生js实现鼠标滚动加载页面新数据
2016/03/06 Javascript
相册展示PhotoSwipe.js插件实现
2016/08/25 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
uniapp微信小程序实现一个页面多个倒计时
2020/11/01 Javascript
python中Genarator函数用法分析
2015/04/08 Python
Python使用matplotlib实现在坐标系中画一个矩形的方法
2015/05/20 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
基于python实现计算两组数据P值
2020/07/10 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
阻止移动设备(手机、pad)浏览器双击放大网页的方法
2014/06/03 HTML / CSS
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
Yves Rocher捷克官方网站:植物化妆品的创造者
2019/07/31 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
如何强制垃圾回收
2015/10/06 面试题
《春笋》教学反思
2014/04/15 职场文书
临床护理求职信
2014/04/26 职场文书
大学社团计划书
2014/05/01 职场文书
2014年党员自我评价材料
2014/09/22 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
python函数的两种嵌套方法使用
2022/04/02 Python