爬虫,是我学习的比较多的,也是比较了解的。打算写一个系列教程,网上搜罗一下,感觉别人写的已经很好了,我没必要重复造轮子了。

爬虫不过就是访问一个页面然后用一些匹配方式把自己需要的东西摘出来。

而访问页面经常用到的几个库,一是urllib和urllib2结合使用,二是requests的使用。第一种方法可以让你了解http协议的一些原理,对于初学者应该从这个入手,但是所谓显得麻烦,第二种requests比较方便,但是由于它是对其他库(httplib等)的高级封装,所以灵活性会差点,功能稍微差点,但一般的效果几乎都可以达到。

访问页面会得到页面的源码,我们的爬虫最大的挑战是从源码里找到我们需要的东西。这个过程也是有几种方法的,但是基本原则就是先抓大再抓小。简单介绍几种匹配方法,第一就是正则表达式了,这个方法有什么好处呢,我能想到的只有一个好处,就是可以提高我们正则匹配能力,因为正则表达式用途很广,而下面说的两种方法用途就只是做爬虫才会用到,所以还是那句话,对于初学者,先从做个方法着手,等自己对正则表达式理解的很好了,再去使用下面两种方法。第二种方法是提取html/xml等的第三方库,beautifualsoup,有中文官方文档,很详细,可以去参考,很多人推荐这种方法。第三种方法就是用xpath,这个据说是对于不标准的html会出错,但对于我们这样不是做搜索引擎,只是小打小闹的,一般不会有问题,而且我觉得这个方法真的是太简单而且太容易理解了。

当然,这个是自己制作,还有比较高级的scrapy框架,这个就更方便了,也有中文官方文档。网上也有很多现成的例子,也可以去github去搜索scrapy,会得到很多别人写好的项目,读一下别人的代码,会有一些知识的拓展。。

本来也想详细写一个系列教程,下面这个链接里的哥们写的已经很详细了,可以参考。

http://cuiqingcai.com/1052.html    爬虫系列教程

另外,可以推荐大家一个网站,极客学院,讲的很不错,很实用

http://www.jikexueyuan.com/  极客学院

python 爬虫系列教程方法总结及推荐的更多相关文章

  1. python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda

    ---恢复内容开始--- python基础系列教程——Python的安装与测试:python的IDE工具PyDev和pycharm,anaconda 从头开启python的开发环境搭建.安装比较简单, ...

  2. Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分

    1. 爬取前的分析 mitmdump是mitmproxy的命令行接口,比Fiddler.Charles等工具方便的地方是它可以对接Python脚本. 有了它我们可以不用手动截获和分析HTTP请求和响应 ...

  3. python基础系列教程——Python库的安装与卸载

    python基础系列教程——Python库的安装与卸载 2.1 Python库的安装 window下python2.python3安装包的方法 2.1.1在线安装 安装好python.设置好环境变量后 ...

  4. Python爬虫入门教程 43-100 百思不得姐APP数据-手机APP爬虫部分

    1. Python爬虫入门教程 爬取背景 2019年1月10日深夜,打开了百思不得姐APP,想了一下是否可以爬呢?不自觉的安装到了夜神模拟器里面.这个APP还是比较有名和有意思的. 下面是百思不得姐的 ...

  5. Python爬虫防封杀方法集合

      Python爬虫防封杀方法集合     mrlevo520 2016.09.01 14:20* 阅读 2263喜欢 38       Python 2.7 IDE Pycharm 5.0.3 前言 ...

  6. python基础系列教程——Python中的编码问题,中文乱码问题

    python基础系列教程——Python中的编码问题,中文乱码问题 如果不声明编码,则中文会报错,即使是注释也会报错. # -*- coding: UTF-8 -*- 或者 #coding=utf-8 ...

  7. python基础系列教程——Python3.x标准模块库目录

    python基础系列教程——Python3.x标准模块库目录 文本 string:通用字符串操作 re:正则表达式操作 difflib:差异计算工具 textwrap:文本填充 unicodedata ...

  8. Python实战:Python爬虫学习教程,获取电影排行榜

    Python应用现在如火如荼,应用范围很广.因其效率高开发迅速的优势,快速进入编程语言排行榜前几名.本系列文章致力于可以全面系统的介绍Python语言开发知识和相关知识总结.希望大家能够快速入门并学习 ...

  9. Python爬虫入门教程 2-100 妹子图网站爬取

    妹子图网站爬取---前言 从今天开始就要撸起袖子,直接写Python爬虫了,学习语言最好的办法就是有目的的进行,所以,接下来我将用10+篇的博客,写爬图片这一件事情.希望可以做好. 为了写好爬虫,我们 ...

随机推荐

  1. datagridview控件的使用

    http://home.cnblogs.com/group/topic/40730.html datagridview定位到最后一行的方法 this.dataGridView2.CurrentCell ...

  2. 【附8】zipkin

    一.zipkin作用 全链路追踪工具(查看依赖关系) 查看每个接口.每个service的执行速度(定位问题发生点或者寻找性能瓶颈) 二.zipkin工作原理 创造一些追踪标识符(tracingId,s ...

  3. 51nod 1073约瑟夫环

    思路传送门 :http://blog.csdn.net/kk303/article/details/9629329 n里面挑选m个 可以递推从n-1里面挑m个 然后n-1里面的x 可以转换成 n里面的 ...

  4. C# 实现简单的 Heap 堆(二叉堆)

    如题,C#  实现简单的二叉堆的 Push() 和 Pop(), 如有不足欢迎指正. 另外,在C#中使用 Heap 的相似功能可以考虑使用:Priority Queues,SortedDictiona ...

  5. 02_HBase集群部署

    HBase集群部署 HBase是分布式数据库,本身也需要借助zookeeper进行集群节点间的协调(Master, RegionServer), 可以使用HBase自带的zookeeper,也可以使用 ...

  6. python渗透测试工具集合

    作者:一起学习Python 原文链接:https://zhuanlan.zhihu.com/p/21803985 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 在进行漏洞研究. ...

  7. 【网络知识】【1】http、tcp/udp、soap的区别

    一句话总结: soap信息可以通过http协议包装后通过tcp或udp传输 参考:https://zhidao.baidu.com/question/617706398106243452.html

  8. .net Parallel并行使用

    因项目响应过慢,代码优化空间不大,在暂时无法调整系统架构的情况下,只有使用.NET中的TPL解决一些模块耗时过多的问题.但在使用过程中也碰到了一些问题,现在把它写下来,用于备忘. 1. Paralle ...

  9. Python day9函数部分

    函数的学习:函数对于一门编程语言来说挺重要的,尤其是c语言,是完全使用函数来编写的 1.函数的定义:逻辑结构化和过程化的一种编程方法 def squre(x): "求一个数的平方 retur ...

  10. [原][译][lua][luabridge]一个简单的luabridge与c++例子结合例子

    参考:https://eliasdaler.wordpress.com/tag/luabridge/ https://eliasdaler.wordpress.com/2015/08/10/using ...