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

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

而访问页面经常用到的几个库,一是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. linux下安装/升级openssl

    (2810)  (1) 安装环境: 操作系统:CentOs7 OpenSSL Version:openssl-1.0.2j.tar.gz 安装: 目前版本最新的SSL地址为 http://www.op ...

  2. How to create Excel file in C#

    http://csharp.net-informations.com/excel/csharp-create-excel.htm Before you create an Excel file in ...

  3. vim E437: terminal capability "cm" required

    报错E437: terminal capability "cm" required 解决方法:# export TERM=xterm

  4. Java中如何实现类似C++结构体的二级排序

    1:实现Comparable接口 import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; ...

  5. ubuntu 16.04 kinetic 安装rosbridge

    sudo apt-get install ros-kinetic-rosbridge-server

  6. [ios]cocos2dx获取设备的当前预言

    参考:http://blog.sina.com.cn/s/blog_923fdd9b0101fmpv.html http://bbs.9ria.com/thread-199313-1-1.html / ...

  7. HttpClient的用法总结

    使用HttpClient连接服务端的步骤: 1.创建HttpClient客户端对象 HttpClient client = new DefaultHttpClient(); 2.创建请求对象      ...

  8. tp5.0 composer命令插件

    1.单元测试composer require topthink/think-testing 1.* (5.0) composer require topthink/think-testing 5.1官 ...

  9. TPCx-BB源码分析

    Copy from: 一篇文章看懂TPCx-BB(大数据基准测试工具)源码 TPCx-BB是大数据基准测试工具,它通过模拟零售商的30个应用场景,执行30个查询来衡量基于Hadoop的大数据系统的包括 ...

  10. Apache配置文件httpd.conf细说

    1.httpd.conf文件位于apache安装目录/conf下2.Listen 88表示监听端口88 此处可以连续写多个端口监听如下: Listen 88 Listen 809 3.目录配置如下: ...