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

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

而访问页面经常用到的几个库,一是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. Package.json 属性说明

    name - 包名. version - 包的版本号. description - 包的描述. entry pointer 项目入口文件 没有的直接回车跳过 test command: 测试命令 后面 ...

  2. [codeWars] - 8kyu的简单复习

    https://www.codewars.com/kata/5aa736a455f906981800360d public class Kata { public static boolean fea ...

  3. ftp协议及vsftpd的基本应用

    1.ftp协议及vsftpd的基本应用 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系 ...

  4. UVa 11054 Gergovia的酒交易

    https://vjudge.net/problem/UVA-11054 题意:直线上有n个等距的村庄,每个村庄要么买酒,要么卖酒.设第i个村庄对酒的需求为ai,ai>0表示买酒,ai<0 ...

  5. WPF基础学习笔记整理 (八) 命令

    基础知识: 命令是应用程序的任务,并跟踪任务是否能够被执行. 命令不包含执行应用程序任务的代码. 命令是比事件更高级的元素.默认的命令目标是当前获得焦点的元素. 良好的Win应用程序,应用程序逻辑不应 ...

  6. get-post区别

    原文链接:http://www.techweb.com.cn/network/system/2016-10-11/2407736.shtml GET和POST是HTTP请求的两种基本方法,要说它们的区 ...

  7. python 本地化 local

    locale 模块提供了 C 本地化( localization )函数的接口, 如 Example 8-1 所示. 同时提供相关函数, 实现基于当前 locale 设置的数字, 字符串转换. (而 ...

  8. CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL)的方法

    CentOS 6.5安装配置LAMP服务器(Apache+PHP5+MySQL)的方法 准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A I ...

  9. node - web 服务器 、server 服务器

    node 作为服务端 - 基本使用 1. web 服务器 web.html <!DOCTYPE html> <html> <head> <meta chars ...

  10. 3-23 Rspec自动化测试(开始练习)

    闰年程序 leap_year_spec.rb require_relative './leap_year' describe "Leap Year" do it "201 ...