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中的生成器及其与迭代器的差异
Jun 20 Python
python模块简介之有序字典(OrderedDict)
Dec 01 Python
Python自动发邮件脚本
Mar 31 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
Python wxpython模块响应鼠标拖动事件操作示例
Aug 23 Python
python实现连连看辅助之图像识别延伸
Jul 17 Python
python twilio模块实现发送手机短信功能
Aug 02 Python
解决Pycharm 导入其他文件夹源码的2种方法
Feb 12 Python
TensorFlow tf.nn.softmax_cross_entropy_with_logits的用法
Apr 19 Python
详解python百行有效代码实现汉诺塔小游戏(简约版)
Oct 30 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 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扩展图文教程
2008/12/12 PHP
PHP 判断常量,变量和函数是否存在
2009/04/26 PHP
双击滚屏-常用推荐
2006/11/29 Javascript
js jquery做的图片连续滚动代码
2008/01/06 Javascript
基于jQuery实现图片的前进与后退功能
2013/04/24 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
javascript制作sql转换为stringBuffer的小工具
2015/04/03 Javascript
JavaScript中的toLocaleLowerCase()方法使用详解
2015/06/06 Javascript
使用AngularJS处理单选框和复选框的简单方法
2015/06/19 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
2017/07/05 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
vue中监听返回键问题
2019/08/28 Javascript
async/await让异步操作同步执行的方法详解
2019/11/01 Javascript
elementUI同一页面展示多个Dialog的实现
2020/11/19 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
Django 如何获取前端发送的头文件详解(推荐)
2017/08/15 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
Flask框架web开发之零基础入门
2018/12/10 Python
python获取引用对象的个数方式
2019/12/20 Python
Python实现手机号自动判断男女性别(实例解析)
2019/12/22 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
美国著名的女性内衣零售商:Frederick’s of Hollywood
2018/02/24 全球购物
英国电器零售商:PRC Direct
2018/06/21 全球购物
创立科技Java面试题
2015/11/29 面试题
Java面试题汇总
2015/12/06 面试题
招商业务员岗位职责
2013/12/16 职场文书
党校党性分析材料
2014/12/19 职场文书
运动会主持人开幕词
2016/03/04 职场文书
MySQL基于索引的压力测试的实现
2021/11/07 MySQL
利用Sharding-Jdbc进行分库分表的操作代码
2022/01/22 Java/Android