大部分爬虫框架都是

  1. 发送请求
  2. 获得页面
  3. 解析页面
  4. 下载内容
  5. 存储内容

定个宏伟目标

  1. 淘宝1000页
  2. 知乎
  3. 豆瓣
  4. ...

python基础

  1. list、dict:序列化爬取的内容
  2. 切片:分割爬取内容,获取需要的部分
  3. 条件判断:只找需要的,过滤掉没用的
  4. 循环和迭代:重复爬虫动作,直到爬取完成
  5. 文件读写操作:读取参数,将爬取的内容保存
  6. 编码常识:转码和解码  

知识储备

  1. 网页基础知识:HTML、POST、GET、JS
  2. 分析语言:正则表达式、XPath、Beautifulsoup

辅助工具

  1. 开发者工具:F12
  2. 抓包工具:Fiddler 4
  3. 正则表达式测试http://tool.chinaz.com/regex/
  4. 谷歌翻译https://translate.google.cn/
  5. JSON解析https://www.json.cn/
  6. PyCharm(Windows)
  7. Eclipse for Python(Linux)

各种模块  

  1. urllib
  2. urllib2
  3. requests
  4. scrapy
  5. selenium
  6. phantomJS

反爬虫策略

  1. 打码平台
  2. PIL(图像处理标准库)
  3. OpenCV((开源)发行的跨平台计算机视觉库) 
  4. Pybrain(号称最好用的Python神经网络库)
  5. 。。。

数据库

  1. mysql
  2. mongodb
  3. sqlite(scrapy自带的)
  4. redis(分布式需要)

数据分析

  1. numpy:数据分析,类似matlab
  2. pandas:基于numpy的数据分析模块

进阶技术

  1. 多线程
  2. 分布式

  Scrapy + MongoDB + Redis 分布式爬虫系统

  a). Redis 用来存储要爬取的网页队列,也就是任务队列

  b). MongoDB 用来存储爬取的内容结果。

  c) . Scrapy 里放爬虫crawler , 分别爬取不同的网页内容。

学以致用

  1. 多练习,多使用
  2. 编程是最容易获得的超能力。你还在等什么?

 

<读书笔记>如何入门爬虫?的更多相关文章

  1. 读书笔记汇总 --- 用Python写网络爬虫

    本系列记录并分享:学习利用Python写网络爬虫的过程. 书目信息 Link 书名: 用Python写网络爬虫 作者: [澳]理查德 劳森(Richard Lawson) 原版名称: web scra ...

  2. 第三章 Git的入门 - 读书笔记

    Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...

  3. 《深入理解bootstrap》读书笔记:第一章 入门准备

    一.bootstrap框架简介 Bootstrap是最流行的前端开发框架. 什么是框架:开发过程的半成品. bootstrap具有以下重要特性: (1)完整的CSS样式插件 (2)丰富的预定义样式表 ...

  4. Unity Shader入门精要读书笔记(一)序章

    本系列的博文是笔者读<Unity Shader入门精要>的读书笔记,这本书的章节框架是: 第一章:着手准备. 第二章:GPU流水线. 第三章:Shader基本语法. 第四章:Shader数 ...

  5. 《Github入门与实践》读书笔记 蟲咋先生的追求之旅(上)

    <Github入门与实践>作者: [日] 大塚弘记 译者:支鹏浩/刘斌   简介 本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作 ...

  6. Unity Shader入门精要读书笔记(二)UnityShader概述

    第三章<UnityShader概述>的读书笔记: 1.Unity Shader模板提供了几种选择: 标准光照模型(新添加的基于物理的渲染方法) 不含光照的基本的顶点.片元着色器 屏幕后处理 ...

  7. 【读书笔记与思考】《python数据分析与挖掘实战》-张良均

    [读书笔记与思考]<python数据分析与挖掘实战>-张良均 最近看一些机器学习相关书籍,主要是为了拓宽视野.在阅读这本书前最吸引我的地方是实战篇,我通读全书后给我印象最深的还是实战篇.基 ...

  8. 读书笔记--大规模web服务开发技术

    总评        这本书是日本一个叫hatena的大型网站的CTO写的,通过hatena网站从小到大的演进来反应一个web系统从小到大过程中的各种系统和技术架构变迁,比较接地气.      书的内容 ...

  9. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

随机推荐

  1. mysql查询相关的命令解析

    特:不重启mysql 更新配置文件方法(不允许重启mysql实例或连接不上msyql服务器): gdb -p $(pidof mysqld) -ex "set max_connections ...

  2. 杂项-笔记-VS:VS2019笔记

    ylbtech-杂项-笔记-VS:VS2019笔记 1.返回顶部 1. http://www.ddooo.com/softdown/142335.htm 2. 2.返回顶部   3.返回顶部   4. ...

  3. Linux 下tomcat+jdk+mysql安装

    JDK 1.用xftp把 jdk1.8.0_65上传到local下 给他赋予最高权限 1)切换到顶级目录    cd ~ 2)然后切换到上级目录 cd .. 3)切换到local路径下  cd /us ...

  4. Rsync 恢复 libselinux.SO.1

    libselinux.SO.1  这个文件对 CentOS 7很重要, 误删掉后,会导致很多命令无法使用(比如yum ,rpm  命令),利用rsync这个工具来修复. 服务端执行如下配置:(选取正常 ...

  5. 《深入理解Java虚拟机》- 重载与重写

    这一节打算从“方法调用”的主题进行分析. 方法调用并不等同于方法执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还不设计方法内部的具体运行过程. 一.概念 解析调用:所有 ...

  6. Django项目 BBS论坛

    BBS论坛 一.项目表分析 二.自定义form组件 三.注册功能 四.BBS论坛 登录功能

  7. Spring接收数据,传递数据

    Spring接收数据,传递数据 前提配置 POM   <dependency> <groupId>org.springframework</groupId> < ...

  8. netstat -pa --unix >>test.txt

    netstat -pa --unix >>test.txt 输出套接字 命名socket信息

  9. 引用opencv异常

    1.异常AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d' 原因:**3.X以后OpenCv只包含部分内容,需要神经网络或者 ...

  10. 通过statCounter计算给定的RDD[Double]的统计信息的方法

    需求1:给定一个RDD[Double],进行计算,该RDD的统计信息(count,mean,stdev,max,min) 代码: def main(args: Array[String]): Unit ...