大部分爬虫框架都是

  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. H. GSS and Simple Math Problem--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)

    题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 题目描述 Given n positive integers , your task is to calculat ...

  2. QtConcurrent::run() 的使用

    QFuture<T>run(constClass *object,T(Class::*fn)(Param1,Param2,Param3,Param4,Param5)const,constA ...

  3. CSS:CSS 布局 - 水平 & 垂直对齐

    ylbtech-CSS:CSS 布局 - 水平 & 垂直对齐 1.返回顶部 1. CSS 布局 - 水平 & 垂直对齐 水平 & 垂直居中对齐 元素居中对齐 要水平居中对齐一个 ...

  4. pycharm中evaluate expression的用法

    pycharm中evaluate expression的用法 首先要用debug调试模式运行程序,在代码编辑处右键debug,或着选择右上角的小虫子图标点击. 然后保证整个程序运行的时候可以中断,然后 ...

  5. yum设置代理

    echo "proxy=http://[proxy_url]:8080" >> /etc/yum.conf

  6. 利用JFileChooser实现文件选择对话框

    简单的文件选择对话框: package mypackage;/** * 打开文件和存储文件 */import java.awt.BorderLayout;import java.awt.Contain ...

  7. python数据结构之快速排序

    def quick_sort(nums): if not nums: return [] else: # 这里取第0个数为基点 flag = nums[0] # 小于flag 的放到左边 left = ...

  8. USACO2007 The Bale Tower /// DFS oj21160

    题目大意: 给出N个捆包,每个捆包有相应的长度和宽度,要求堆叠捆包,使下方的捆包长宽永远大于上方的捆包的长宽. Input Multiple test case. For each case: * L ...

  9. velocity 相关

    Apache Velocity 是一个基于java的模板引擎(template engine) 应用场景1.Web 应用:开发者在不使用 JSP 的情况下,可以用 Velocity 让 HTML 具有 ...

  10. keep-alive用法及(activated,deactivated生命周期)

    <template> <div id="app"> <!-- <img src="./assets/logo.png"> ...