Python爬虫之入门学习

大家好,相信点进来看的小伙伴们都对爬虫非常感兴趣,博主也是一样的。博主刚开始接触爬虫的时候,就被深深吸引了,因为感觉SO COOL啊!每当敲完代码后看着一串串数据在屏幕上浮动,感觉很有成就感,有木有?更厉害的是,爬虫的技术可以应用到很多生活场景中,例如,自动投票啊,批量下载感兴趣的文章、小说、视频啊,微信机器人啊,爬取重要的数据进行数据分析啊,切实的感觉到这些代码是给自己写的,能为自己服务,也能为他人服务,所以人生苦短,我选爬虫。

说实在的,博主也是个朝九晚五的上班族,学习爬虫也是利用业余时间,但就凭着对爬虫的热情开始了爬虫的学习之旅,俗话说嘛,兴趣是最好的老师。博主也是一个小白,开这个公众号的初衷就是想和大家分享一下我学习爬虫的一些经验以及爬虫的技巧,当然网上也有各种各样的爬虫教程都可供大家参考学习,在后面博主会分享一些开始学习时用到的资源。好了,不废话了,开始我们的正题。

1. 什么是爬虫?

首先应该弄明白一件事,就是什么是爬虫,为什么要爬虫,博主百度了一下,是这样解释的:

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

其实,说白了就是爬虫可以模拟浏览器的行为做你想做的事,订制化自己搜索和下载的内容,并实现自动化的操作。比如浏览器可以下载小说,但是有时候并不能批量下载,那么爬虫的功能就有用武之地了。

实现爬虫技术的编程环境有很多种,Java,Python,C++等都可以用来爬虫。但是博主选择了Python,相信很多人也一样选择Python,因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实现你想要的功能,更重要的,Python也是数据挖掘和分析的好能手。这样爬取数据和分析数据一条龙的服务都用Python真的感觉很棒啊!

2. 爬虫的学习路线

知道了什么是爬虫,给大家说说博主总结出的学习爬虫的基本路线吧,只供大家参考,因为每个人都有适合自己的方法,在这里只是提供一些思路。

学习Python爬虫的大致步骤如下:

  1. 首先学会基本的Python语法知识(可以参考下面的爬虫资料);
  2. 学习Python爬虫常用到的几个重要内置库urllib, http等,用于下载网页;
  3. 学习正则表达式re、BeautifulSoup(bs4)、Xpath(lxml)等网页解析工具;
  4. 开始一些简单的网站爬取(博主从百度开始的,哈哈),了解爬取数据过程;
  5. 了解爬虫的一些反爬机制,header,robot,时间间隔,代理ip,隐含字段等;
  6. 学习一些特殊网站的爬取,解决登录、Cookie、动态网页等问题;
  7. 了解爬虫与数据库的结合,如何将爬取数据进行储存;
  8. 学习应用Python的多线程、多进程进行爬取,提高爬虫效率;
  9. 学习爬虫的框架,Scrapy、PySpider等;
  10. 学习分布式爬虫(数据量庞大的需求);

以上便是一个整体的学习概况,好多内容博主也需要继续学习,关于提到的每个步骤的细节,博主会在后续内容中以实战的例子逐步与大家分享,当然中间也会穿插一些关于爬虫的好玩内容。

3. 爬虫资源

博主用过的一些关于Python入门的一些书籍和资源,供大家参考。

Python学习书籍

byte-of-python:快速了解Python的一本书,书很薄,易懂易学。

Python基础教程:Python基础教程的经典。

Python 核心编程:提供了丰富的例子,讲述Python在各种环境下应用的讲解,很赞。

廖雪峰Python教学

Python基础-菜鸟教程

博主会在后续发出更多精彩的内容与大家分享,欢迎一起讨论学习,敬请期待!

原文发布于微信公众号 - Python数据科学(Python_Spiderman)

原文发表时间:2017-12-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏存储

集群NAS和对象存储的区别

这个话题乍一看可能有些奇怪,因为一个是集群NAS存储,一个是对象存储,没什么相同的地方,为啥还要比较? 而实际上,在考察两种技术的实际应用场景时,我们会发现,两...

46810
来自专栏大数据和云计算技术

新数仓系列:MongoDB关键能力和特性梳理

最近看一本书,铃木敏文的《零售的哲学》,里面提到一个很有意思的观点,711核心使命是提供便利,围绕便利场景,提供一系列食品、ATM服务等,而不是和超市去PK货物...

3116
来自专栏架构说

如何阅读源码

从哪里开始读起,怎么读 这个问题简单,程序从哪里开始就哪里开始读起。譬如,C 代码,当然是从 main(),其他语言也是类似的。但阅读的时候,要带着问题去读。...

6205
来自专栏程序员互动联盟

作为一名软件工程学生想要自学Linux,可以从哪方面开始学习?

很多linux初学者的首选书籍,linux学习先从基础的命令行入手,常用的命令大约20个,然后慢慢切入学习

831
来自专栏北京马哥教育

Python —— 一个『拉勾网』的小爬虫

本文将展示一个 Python 爬虫,其目标网站是『拉勾网』;题图是其运行的结果,这个爬虫通过指定『关键字』抓取所有相关职位的『任职要求』,过滤条件有『城市』、...

5505
来自专栏HansBug's Lab

【作业2.0】HansBug的5-7次OO作业分析与小结,以及一些个人体会

2524
来自专栏清晨我上码

第一节 DDD领域驱动概述

总结出一个原则:分析设计层面和实现层面完全是两个独立的层面,即使实现层面通过某种技术手段可以把两个完全独立的概念合二为一,在分析设计层面,我们仍然(至少在头脑中...

2353
来自专栏程序员的碎碎念

数据挖掘敲门砖--Python爬虫入门

? WHAT 数据挖掘是一门综合的技术,随着Ai的兴起,在国内的需求日渐增大。 数据挖掘的职业方向通常有三个,顺便概要地提一下所需的技能(不仅于此) 数据分...

5008
来自专栏Crossin的编程教室

【我问Crossin】学会 Python 离成为一名程序员还差多远?

1 运行代码时报错:SyntaxError :invalid syntax Crossin: SyntaxError 为语法错误,新手常见的问题可能有: 忘记在...

2865
来自专栏企鹅号快讯

学习Python语言,这些酷毙的工具你知道几个?

工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来...

2538

扫码关注云+社区

领取腾讯云代金券