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编写Linux系统守护进程实例
Feb 03 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
python中 logging的使用详解
Oct 25 Python
Python实现确认字符串是否包含指定字符串的实例
May 02 Python
python使用numpy读取、保存txt数据的实例
Oct 14 Python
对Python中画图时候的线类型详解
Jul 07 Python
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
Oct 06 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
Jul 31 Python
Python request中文乱码问题解决方案
Sep 17 Python
Python Selenium操作Cookie的实例方法
Feb 28 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 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
通过ODBC连接的SQL SERVER实例
2006/10/09 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
加载 Javascript 最佳实践
2011/10/30 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
jq实现酷炫的鼠标经过图片翻滚效果
2014/03/12 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
JS小游戏之象棋暗棋源码详解
2014/09/25 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
真正好用的js验证上传文件大小的简单方法
2016/10/27 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
js Canvas绘制圆形时钟效果
2017/02/17 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
详解如何从零开始搭建Express+Vue开发环境
2018/07/17 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
微信小程序中如何使用flyio封装网络请求
2019/07/03 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
Python面向对象之类和对象实例详解
2018/12/10 Python
Django unittest 设置跳过某些case的方法
2018/12/26 Python
python开启debug模式的方法
2019/06/27 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
英国剑桥包官网:The Cambridge Satchel Company
2016/08/01 全球购物
小狗电器官方商城:中国高端吸尘器品牌
2017/03/29 全球购物
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
介绍一下linux的文件系统
2012/03/20 面试题
学校食堂采购员岗位职责
2013/12/05 职场文书
2015年国庆放假通知范文
2015/08/18 职场文书
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS
python中的sys模块和os模块
2022/03/20 Python