Python爬虫是什么以及常用库介绍


   爬虫整个过程主要由三部分组成:抓取页面、解析页面、存储数据。抓取页面需要请求库的支持,解析页面需要解析库的支持,数据存储需要数据库以及连接数据库的包的支持。
在这里插入图片描述

1、常用请求库

  1. requests库:Python3内置了另外一个请求库urllib,但这个库使用起来比较繁琐,一些方法语义上也不是很明确。所以有了requests库,这个库属于第三方库,需要自己另外安装。
  2. Selenium库:Selenium是一个可以实现自动化爬虫的库,这个库非常强大,可以利用这个库驱动浏览器完成爬取。我们可以写上一些自动化脚本,然后便可以放任程序为我们爬取页面。
  3. ChromeDriver:ChromeDriver是一个驱动器,想要实现自动化爬虫只有Selenium还不够,还需要驱动器。ChromeDriver是谷歌浏览器的驱动。
  4. 像驱动的话还有火狐浏览器的驱动,但我觉得火狐用起来没有谷歌那么流畅,就没再用过了。想要爬取简单的页面,通常使用requests + Selenium + ChromeDriver的组合就足够了。

2、常用解析库

  1. lxml库:lxml库支持HTML和XML的解析,支持XPath的解析方式,而且解析效率非常高。
  2. Beautiful Soup库:这个库支持HTML和XML的解析,它的优点在于它拥有强大的API,比lxml方便很多,功能也更加强大。
  3. pyquery库:同样很强大,它的API和jQuery(一款js框架)很相似,熟悉前端的使用起来特别方便。我个人也比较喜欢使用这个库。
  4. tesserocr库:tesserocr是Python的一个OCR识别库,主要用于识别验证码等等。

3、常用数据库

  1. 数据库包括关系型数据库和非关系型数据库。我常用的就是MySQL、Redis和MongoDB。
  2. PyMySQL、PyMongoDB、redis-py库:这三个库都是连接数据库的,类似于Java的数据库驱动。

4、爬取APP相关库

  1. Charles:是一种抓包修改工具,容易上手,数据请求容易控制,修改简单,抓取数据方便。
  2. mitmproxy:是一个支持HTTP和HTTPS的抓包程序,能够拦截请求,发起请求等等。
  3. Appium:类似于Selenium,属于APP端的自动化测试工具。

5、框架

  1. 框架:如果爬取量不大,速度要求也不大,使用requests+selenium等库完全是满足要求的。但是如果爬取量上来了,许多代码都是重复代码,这时候框架就应运而生了。
  2. pyspider:pyspider带有WebUI、脚本编辑器、任务监控器、项目管理等等强大功能。
  3. Scrapy:是一个为了爬取网站数据,提取结构性数据而编写的应用框架。

有错误的地方敬请指出!觉得写得可以的话麻烦给个赞!欢迎大家评论区或者私信交流!

发布了30 篇原创文章 · 获赞 72 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Orange_minger/article/details/104731724