cainiaofei

2022-09-30   阅读量: 907

Python爬虫需要学些什么?

Python爬虫需要学些什么?
添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.0000 0 1 关注作者 收藏

评论(1)

85691082
2022-09-30
1)了解爬虫的基本原理及过程,大部分爬虫都是按“发送请求——获得页面——解析页面——抽取并储存内容”这样的流程来进行,这其实也是模拟了我们使用浏览器获取网页信息的过程。在这部分可以简单了解HTTP 协议及网页基础知识,比如 POST\GET、HTML、CSS、JS,简单了解即可,不需要系统学习。

2)学习 Python 包并实现基本的爬虫过程,Python中爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。如果用过 BeautifulSoup,会发现 Xpath 要省事不少。

3)了解非结构化数据的存储,爬回来的数据可以直接用文档形式存在本地,也可以存入数据库中。开始数据量不大的时候,可以直接通过 Python 的语法或 pandas 的方法将数据存为csv这样的文件。当然爬回来的数据可能会有缺失、错误等等,还需要对数据进行清洗,可以学习 pandas 包的基本用法来做数据的预处理,得到更干净的数据。

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

5)学习数据库基础,应对大规模数据存储爬回来的数据量小的时候,你可以用文档的形式来存储,一旦数据量大了,这就有点行不通了。所以掌握一种数据库是必须的,目前比较主流的 是MongoDB 。MongoDB 可以方便去存储一些非结构化的数据。

6)掌握各种技巧,应对特殊网站的反爬措施当然,爬虫过程中也会经历一些绝望啊,比如被网站封IP、比如各种奇怪的验证码、userAgent访问限制、各种动态加载等等。遇到这些反爬虫的手段,当然还需要一些高级的技巧来应对,常规的比如访问频率控制、使用代理IP池、抓包、验证码的OCR处理等等。

7)分布式爬虫,实现大规模并发采集爬取基本数据已经不是问题了,你的瓶颈会集中到爬取海量数据的效率。原理是利用多线程的原理让多个爬虫同时工作,需要你掌握Scrapy + MongoDB + Redis 这三种工具。Scrapy 前面我们说过了,用于做基本的页面爬取,MongoDB 用于存储爬取的数据,Redis 则用来存储要爬取的网页队列,也就是任务队列。

0.0000 0 0 回复

推荐帖子


    暂无数据

推荐课程