python编写简单爬虫资料汇总

 更新时间:2016年03月22日 09:22:37   作者:oYabea  
本文给大家汇总介绍了下几种使用Python编写简单爬虫的方法和代码,非常的不错,这里分享给大家,希望大家能够喜欢。

  爬虫真是一件有意思的事儿啊,之前写过爬虫,用的是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

  代码运行:

  

       

  巩固篇,依据豆瓣中图书的标签得到一个书单,同样使用BeautifulSoup。

  代码详见:https://github.com/Ben0825/Crawler/blob/master/doubanTag.py

  运行结果:  

   以上就是今天学习的一些内容,爬虫真的很有意思啊,明天继续学scrapy!

相关文章

  • pyqt和pyside开发图形化界面

    pyqt和pyside开发图形化界面

    选择PyQt或PySide来开发图形界面是因为Python和Qt的跨平台特性,Qt5甚至支持iOS和Android,并且开发相同的软件,Python的效率是极高的,下面看使用示例
    2014-01-01
  • 浅谈配置MMCV环境,解决报错,版本不匹配问题

    浅谈配置MMCV环境,解决报错,版本不匹配问题

    这篇文章主要介绍了浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • python实现百度语音识别api

    python实现百度语音识别api

    这篇文章主要为大家详细介绍了python实现百度语音识别api,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • 一文详细NumPy中np.zeros的使用

    一文详细NumPy中np.zeros的使用

    np.zeros是NumPy库中一个非常实用的函数,用于快速创建指定形状和大小的全零数组,本文主要介绍了NumPy中np.zeros的使用,感兴趣的可以了解一下
    2024-03-03
  • Python 用户登录验证的小例子

    Python 用户登录验证的小例子

    Python 用户登录验证的小例子,需要的朋友可以参考一下
    2013-03-03
  • Python基于hashlib模块的文件MD5一致性加密验证示例

    Python基于hashlib模块的文件MD5一致性加密验证示例

    这篇文章主要介绍了Python基于hashlib模块的文件MD5一致性加密验证,涉及Python使用hashlib模块进行字符串与文件的MD5加密验证操作相关实现技巧,需要的朋友可以参考下
    2018-02-02
  • Python实现清除文件夹中重复视频

    Python实现清除文件夹中重复视频

    本文将利用Python中的os、hashlib、shutil模块实现对文件夹中的重复视频进行清除,实现文件夹中无重复文件情况发生,需要的可以参考一下
    2022-05-05
  • Flask模板继承深入理解与应用

    Flask模板继承深入理解与应用

    Flask中的模板可以继承,通过继承可以把模板中许多重复出现的元素抽取出来,放在父模板中,并且父模板通过定义block给子模板开一个口,子模板根据需要,再实现这个block
    2022-09-09
  • Python不同格式打印九九乘法表示例

    Python不同格式打印九九乘法表示例

    大家好,本篇文章主要讲的是Python不同格式打印九九乘法表示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦,方便下次浏览
    2021-12-12
  • Python 实操显示数据图表并固定时间长度

    Python 实操显示数据图表并固定时间长度

    这篇文章主要介绍了Python 实操显示数据图表并固定时间长度,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08

最新评论