您的位置: 首页 > 新闻资讯 > 正文

学习Python爬虫需要掌握的一些基本知识点

发布时间:2019-02-26 15:12:32 来源:互联网

爬虫可以去采集大量的数据,比如商品价格和销售数据,或者去招聘网爬取各类职位信息,分析市场行情等等,爬虫应用的领域比较多,使用范围比较广。于是很多人即使学习了其他的编程语言,也会去了解下Python语言。都说Python简单,但是对于新手来说,也是有些难度的,下面小编为大家介绍一下学习Python爬虫需要掌握的一些基本知识点。

1.了解爬虫基本过程

大部分爬虫都是按“发送请求——获得页面——解析页面——抽取并储存内容”这样的流程来进行,这其实也是模拟了我们使用浏览器获取网页信息的过程。

学习Python爬虫需要掌握的一些基本知识点

2.了解熟悉Python包

Python中爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,建议从requests+Xpath 开始,requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。如果你用过 BeautifulSoup,会发现 Xpath 要省事不少,一层一层检查元素代码的工作,全都省略了。这样下来基本套路都差不多,一般的静态网站根本不在话下。当然如果你需要爬取异步加载的网站,可以学习浏览器抓包分析真实请求或者学习Selenium来实现自动化,这样,知乎、时光网、猫途鹰这些动态的网站也可以迎刃而解。

3.了解数据的存储

爬回来的数据可以直接用文档形式存在本地,也可以存入数据库中。开始数据量不大的时候,你可以直接通过Python的语法或pandas的方法将数据存为csv这样的文件。

爬回来的数据量小的时候,你可以用文档的形式来存储,一旦数据量大了,这就有点行不通了。所以掌握一种数据库是必须的,学习目前比较主流的MongoDB就OK。

MongoDB可以方便你去存储一些非结构化的数据,比如各种评论的文本,图片的链接等等。你也可以利用PyMongo,更方便地在Python中操作MongoDB。因为这里要用到的数据库知识其实非常简单,主要是数据如何入库、如何进行提取,在需要的时候再学习就行。

4.了解数据的清洗

当然你可能发现爬回来的数据并不是干净的,可能会有缺失、错误等等,你还需要对数据进行清洗,可以学习pandas包的基本用法来做数据的预处理,得到更干净的数据。

5.了解爬虫框架

scrapy 是一个功能非常强大的爬虫框架,它不仅能便捷地构建request,还有强大的 selector 能够方便地解析 response,然而它最让人惊喜的还是它超高的性能,让你可以将爬虫工程化、模块化。学会 scrapy,你可以自己去搭建一些爬虫框架,你就基本具备爬虫工程师的思维了。

当爬取基本数据已经不是问题了,你的瓶颈会集中到爬取海量数据的效率。这个时候,相信你会很自然地接触到一个很厉害的名字:分布式爬虫。

分布式这个东西,听起来很恐怖,但其实就是利用多线程的原理让多个爬虫同时工作,需要你掌握 Scrapy + MongoDB + Redis 这三种工具。Scrapy前面我们说过了,用于做基本的页面爬取,MongoDB用于存储爬取的数据,Redis则用来存储要爬取的网页队列,也就是任务队列。

以上就是关于学习Python爬虫需要掌握的一些基本知识点,另外还需要注意网站的反爬虫机制,比如动态加载、封IP、验证码、userAgent访问限制等等。面对这些反爬虫,我们也是需要利用一些工具来应对的,比如IP限制可以使用黑洞代理换IP的工具来切换IP地址,这样就能突破IP限制了。


相关文章内容简介

1 学习Python爬虫需要掌握的一些基本知识点

爬虫可以去采集大量的数据,比如商品价格和销售数据,或者去招聘网爬取各类职位信息,分析市场行情等等,爬虫应用的领域比较多,使用范围比较广。于是很多人即使学习了其他的编程语言,也会去了解下Python语言。都说Python简单,但是对于新手来说,也是有些难度的,下面小编为大家介绍一下学习Python爬虫需要掌握的一些基本知识点。1.了解爬虫基本过... [阅读全文]

最新标签

在线客服

QQ咨询

上班时间