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实现删除当前目录下除当前脚本以外的文件和文件夹实例
Jul 27 Python
Python实现周期性抓取网页内容的方法
Nov 04 Python
使用Python的urllib2模块处理url和图片的技巧两则
Feb 18 Python
Python作用域用法实例详解
Mar 15 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
解决jupyter notebook显示不全出现框框或者乱码问题
Apr 09 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
Java byte数组操纵方式代码实例解析
Jul 22 Python
pytorch学习教程之自定义数据集
Nov 10 Python
Python数据可视化之绘制柱状图和条形图
May 25 Python
python神经网络学习 使用Keras进行回归运算
May 04 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连接Oracle数据库
2006/10/09 PHP
php把session写入数据库示例
2014/02/26 PHP
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
将json当数据库一样操作的javascript lib
2013/10/28 Javascript
avalonjs实现仿微博的图片拖动特效
2015/05/06 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
详解Vue2 无限级分类(添加,删除,修改)
2017/03/07 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
vue路由守卫,限制前端页面访问权限的例子
2019/11/11 Javascript
JavaScript字符串处理常见操作方法小结
2019/11/15 Javascript
Python运行报错UnicodeDecodeError的解决方法
2016/06/07 Python
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
python中yield的用法详解——最简单,最清晰的解释
2019/04/04 Python
python 多进程共享全局变量之Manager()详解
2019/08/15 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
django正续或者倒序查库实例
2020/05/19 Python
keras实现多种分类网络的方式
2020/06/11 Python
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
Shell如何接收变量输入
2012/09/24 面试题
产品销售员岗位职责
2013/12/18 职场文书
劳资专员岗位职责
2013/12/27 职场文书
大学生的自我鉴定范文
2014/01/21 职场文书
表决心的诗句大全
2014/03/11 职场文书
优秀的应届生自荐信
2014/05/23 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python
Spring Security使用单点登录的权限功能
2022/04/03 Java/Android