本文主要介绍 Web Scraping 的基本原理,基于Python语言,大白话,面向可爱的小白(^-^)。
易混淆的名称:
很多时候,大家会把,在网上获取Data的代码,统称为“爬虫”,
但实际上,所谓的“爬虫”,并不是特别准确,因为“爬虫”也是分种的,
常见的“爬虫”有两种:
- 网路爬虫 (Web Crawler),又称 Spider;Spiderbot
- 网页抓取 (Web Scraper),又称 Web Harvesting;Web Data Extraction
而,这篇文章,主要讲解的是第二种“爬虫”(Web Scraper)的原理。
Web Scraping 是什么?
简单的说 Web Scraping,(在本文里)就是指,用Python代码,从肉眼可见的网页上,抓取数据。
为什么需要 Web Scraping?
因为,重复工作太多,自己做,可能会累死!
代码的适用实例有哪些?
- 如,需要在证交所,下来50只不同股票的当前价格,
- 或者,想 print 出,新闻网站上,所有最新新闻的标题,
- 或者,只是想把网站上所有商品的价格列出来,放到 Excel 里对比下,
- 等等各种,尽可发挥你的想象力.....
Web Scraping 的基本原理:
-
首先,你需要了解,网页是怎么呈现在,我们屏幕上的;
- 其实就是,我们发出一个Request,
- 然后百公里外的服务器回给我们一个 Response;
- 然后我们收看到一大堆文字,
- 最后,浏览器,偷偷的把这堆文字排好了版,放在了我们屏幕上;
- 再详细的原理,可以去看我之前博文里的书,HTTP下午茶 - 小白入门书
-
然后,我们要了解,使用Python,如何实现它,实现原理基本就四个步骤:
- 首先,代码需要向服务器发出一个Request,然后收到一个Response(html文件)
- 这里可以,使用Python的,request库,或者 urllib标准库
- 然后,我们需要处理收到的这个Response,找到我们所需要的文字
- 这里使用,BeautifulSoup4 来实现对 html 文件的解析
- 然后,需要设计代码流程,来处理重复任务
- 这里使用,Loop什么的,来完成重复的流程
- 最后,导出我们得到的数据,最好是漂亮的Excel表格
- 这里可以先使用,pandas,来完成一些数据处理,或者计算
- 然后使用,openpyxl库来完成,写入Excel的过程
- 首先,代码需要向服务器发出一个Request,然后收到一个Response(html文件)
篇尾总结:
这篇文章,重点在于讲解实现的思路和过程,
所以,并非详尽,也并没有给出实际的代码,
但是,这个思路,几乎是网页抓取的通用套路。
就写到这里吧,想起什么再更新,
要是有写的不到位的地方,还请包涵!