当前位置:首页 > 狗狗资讯 > 狗狗训练 > python 爬虫:从python基础到爬虫的书有什么值得推荐?

python 爬虫:从python基础到爬虫的书有什么值得推荐?

编辑:sqxzgg 时间:2022-04-06 来源:人人爱宠物网

1,《A Byte of Python》,即《简明 Python 教程》,作者: Swaroop C H ,译者: 沈洁元 python 爬虫。

python 爬虫:从python基础到爬虫的书有什么值得推荐?

最大的特点,就是够简单,从第一个hello world程序开始,全书控制流、函数、模块、数据结构(list、tuple、dict)、类和对象、输入输出(i\o)、异常处理、标准库(i.e. sys, os, time, etc)等内容python 爬虫。

python 爬虫:从python基础到爬虫的书有什么值得推荐?

2,《Python编程:从入门到实践》作者: [美]埃里克·马瑟斯 python 爬虫,译者: 袁国忠 。

python 爬虫:从python基础到爬虫的书有什么值得推荐?

全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容python 爬虫;

python 爬虫:从python基础到爬虫的书有什么值得推荐?

第二部分将理论付诸实践python 爬虫,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者解决常见编程问题和困惑。

python 爬虫:从python基础到爬虫的书有什么值得推荐?

3,《Python网络数据采集》作者: [美] 米切尔 ,译者: 陶俊杰 / 陈小莉 。

全书第一部分重点介绍网络数据采集的基本原理:如何用Python从网络服务器请求信息,如何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互。

第二部分介绍如何用网络爬虫测试网站,自动化处理,以及如何通过更多的方式接入网络。

4,scrapy框架,阅读官方文档吧,这是未完整翻译的1.0文档/zh_CN/stable/index.html。

5,《利用Python进行数据分析》作者: Wes McKinney,译者: 唐学韬 。以下是全书内容:

学习NumPy(Numerical Python)的基础和高级知识。

•从pandas库的数据分析工具开始。

•利用高性能工具对数据进行加载、清理、转换、合并以及重塑。

•利用matplotlib创建散点图以及静态或交互式的可视化结果。

•利用pandas的groupby功能对数据集进行切片、切块和汇总操作。

•处理各种各样的时间序列数据。

•通过详细的案例学习如何解决Web分析、社会科学、金融学以及经•济学等领域的问题

6.《数据挖掘导论》作者: Pang-Ning Tan / Michael Steinbach / Vipin Kumar ,译者: 范明 / 范宏建 。

本书全面介绍了数据挖掘,涵盖了五个主题:数据、分类、关联分析、聚类和异常检测。

除异常检测外,每个主题都有两章。前一章涵盖基本概念、代表性算法和评估技术,而后一章讨论高级概念和算法。这样读者在透彻地理解数据挖掘的基础的同时,还能够了解更多重要的高级主题。

细心的可能已经发现上述书籍大部分是O'Reilly出版的。计算机类的书籍我实在太爱O'Reilly出版的了,每一本都恨不得买下来,绝对推荐。

祝您学习愉快!

入门Python爬虫需要掌握哪些技能和知识点?

  对于程序员来说基本上不存在重复性的工作,任何重复劳动都可以通过程序自动解决。下面千锋带你一起了解爬虫需要哪些相关的技能。

python 爬虫:从python基础到爬虫的书有什么值得推荐?

  1、基本的编码基础(至少一门编程语言)

  这个对于任何编程工作来说都是必须的。基础的数据结构你得会吧。数据名字和值得对应(字典),对一些url进行处理(列表)等等。事实上,掌握的越牢固越好,爬虫并不是一个简单的工作,也并不比其他工作对编程语言的要求更高。

  熟悉你用的编程语言,熟悉相关的框架和库永远是百益无害。我主要用Python,用Java写爬虫的也有,理论上讲任何语言都可以写爬虫的,不过最好选择一门相关的库多,开发迅速的语言。用C语言写肯定是自找苦吃了。

  2、任务队列

  当爬虫任务很大的时候,写一个程序跑下来是不合适的:

  如果中间遇到错误停掉,重头再来?这不科学

  我怎么知道程序在哪里失败了?任务和任务之间不应该相互影响

  如果我有两台机器怎么分工?

  所以我们需要一种任务队列,它的作用是:讲计划抓取的网页都放到任务队列里面去。然后worker从队列中拿出来一个一个执行,如果一个失败,记录一下,然后执行下一个。这样,worker就可以一个接一个地执行下去。也增加了扩展性,几亿个任务放在队列里也没问题,有需要可以增加worker,就像多一双亏筷子吃饭一样。

  常用的任务队列有kafka,beanstalkd,celery等。

  3、数据库

  这个不用讲了,数据保存肯定要会数据库的。不过有时候一些小数据也可以保存成json或者csv等。我有时想抓一些图片就直接按照文件夹保存文件。推荐使用NoSQL的数据库,比如mongodb,因为爬虫抓到的数据一般是都字段-值得对应,有些字段有的网站有有的网站没有,mongo在这方面比较灵活,况且爬虫爬到的数据关系非常非常弱,很少会用到表与表的关系。

  4、}

  文档的解析方法要懂,比如子节点父节点,属性这些。我们看到的网页是五彩斑斓的,只不过是被浏览器处理了而已,原始的网页是由很多标签组成的。处理最好使用html的解析器,如果自己用正则匹配的话坑会很多。

  5、运维

  这个话题要说的有很多,实际工作中运维和开发的时间差不多甚至更多一些。维护已经在工作的爬虫是一个繁重的工作。随着工作时间增加,一般我们都会学着让写出来的爬虫更好维护一些。

  比如爬虫的日志系统,数据量的统计等。将爬虫工程师和运维分开也不太合理,因为如果一个爬虫不工作了,那原因可能是要抓的网页更新了结构,也有可能出现在系统上,也有可能是当初开发爬虫的时候没发现反扒策略,上线之后出问题了,也可能是对方网站发现了你是爬虫把你封杀了,所以一般来说开发爬虫要兼顾运维。

阅读:

网友评论仅供其表达个人看法,并不表明本站立场。
    共 0 条评论
狗狗医疗