美文网首页我爱编程
2018-05-08 D1本书主要内容

2018-05-08 D1本书主要内容

作者: dongdonghao | 来源:发表于2018-05-08 20:55 被阅读0次

        自我理解:简短的介绍下本书的内容,本书一共分为15章,内容如下:

    第一章

    介绍了配置环境,非常的详细具体,设计Linux,Mac, Linux三大平台。

    第二章

     介绍了学习爬虫之前需要了解的一些知识,例如HTTP, 爬虫, 代理的基本原理,网页基本结构等内容,适合没有基础的同学。

    第三章

    介绍了最基本的爬虫操作,一般学习爬虫都是从这一步开始学的,主要介绍了两个基本的库(urllib和requests)和正则表达式的基本用法

    第四章

    介绍了页解析库的基本用法,包括Beautiful Soup,XPath, pyquery的基本用法。

    第五章

    介绍了数据存储的常见形式及存储操作,包括TXT,JSON,CSV各种文件的存储,以及关系型数据库MySQL和非关系数据库MangoDB,Redis存储的基本存储操作。

    第六章

    介绍Ajax数据爬取的过程, 一些网页的数据可能是通过Ajax请求API接口的方式加载的,用常规方法无法爬取,本章主要是介绍Ajax进行数据爬取的方法。

    第七章

    介绍了动态渲染页面的爬取,现在越来越多的网站内容经过了JavaScript渲染得到的,而原始HTML文本可能不包含任何有效内容,而且渲染可能涉及某些JavaScript加密算法,可以使用Seleminm,Splash等工具实现模拟浏览器进行爬取数据的方法。

    第八章

    介绍了验证码的相关处理方法。验证码是网站反爬虫的重要措施,  图形验证码,极验验证码,点触验证码,微博宫格验证码。

    第九章

    介绍了代理的使用,限制IP也是网站反爬虫的重要措施,我们可以用代理池维护伪装爬虫,还使用了ADSL拨号代理的使用方法。

    第十章

    介绍了模拟模拟登录爬取方法,本章介绍了最基本的模拟登陆方法以及维护一个Cookies池的方法。

    第十一章

    介绍了APP的爬取方法,包括基本的Charles,mitmproxy抓包软件的使用。还介绍了mitmdump对接Python脚本进行实施抓取的方法,以及使用Appium完全模拟手机App的操作进行爬取的方法。

    第十二章

    介绍了pyspider爬虫框架及用法。

    第十三章

    介绍了Scrapy爬虫框架及用法。

    第十四章

    介绍了分布式爬虫的基本原理及实现方法

    第十五章

    介绍了分布式爬虫的部署及管理方法。 结合了Scrapy, Scrapyd, Docker, Gerapy等工具介绍了分布式爬虫的部署和管理实现。

    第1章 开发环境配置

    这章写的真好。简单明了,没那么多事。

    1.1 Python3的安装

    已装

    1  Anaconda安装, 提供了Python科学计算环境,自带Python以及常用的库。

    1.2请求库的安装

    爬虫可以分为简单三步:抓取页面,分析页面和存储数据

    在抓取过程中,我们需要模拟浏览器向服务器发出请求。用到的库requests, Selenium和aiohttp等

    1.2.1 requests的安装

    已安装

    1.2.2 Selenium的安装

    Selenium是一个自动化测试工具,利用它我们可以让浏览器执行特定的动作,比如点击,下拉等操作。对于一些JavaScript渲染的网页来说,这种方法特别有效。

    pip install selenium 安装成功

    1.2.3 ChromeDriver的安装

    先安装Chrome浏览器, 版本66,然后根据版本号下载ChromeDriver

    ChromeDriver是驱动,

    from selenium import webdriver

    browser = webdriver.Chrome()

    会弹出一个空白的Chrome浏览器

    1.2.4 GeckoDriver的安装

    它是FireFox浏览器的去佛那个,不用装

    1.2.5 PhantomJS的安装

    PhantomJS是一个无界面的,可脚本变成的WebKit浏览器引擎,它原生支持多种Web标准:DOM操作,CSS选择器,JSON,Canvas以及SVG。

    Selenium支持PhantomJS,运行效率还很高,还支持各种参数配置,使用非常方便。

    from selenium import webdriver

    browser = webdriver.PhantomJS()

    browser.get('http://www.baidu.com')

    print(browser.current_url)

    1.2.6 aiohttp的安装

    requests库是一个阻塞式HTTP请求库

    aiohttp是一个提供异步Web服务的库。关键字 async/await

    字符编码检测库cchardet     加速DNS的解析库aiodns

    后面会用到这个库,比如维护一个代理池,用异步方式检测大量代理的运行情况,能极大的提高效率


    相关文章

      网友评论

        本文标题:2018-05-08 D1本书主要内容

        本文链接:https://www.haomeiwen.com/subject/hnswrftx.html