大到各类搜索引擎 。小到日常数据采集 。都离不开网络爬虫 。爬虫的基本原理很简单 。遍历网络中网页 。抓取感兴趣的数据内容 。这篇文章会从零开始介绍如何编写一个网络爬虫抓取数据 。然后会一步步逐渐完善爬虫的抓取功能 。
工具安装
我们需要安装python 。python的requests和BeautifulSoup库 。我们用Requests库用抓取网页的内容 。使用BeautifulSoup库来从网页中提取数据 。
安装python
运行pip install requests
运行pip install BeautifulSoup
抓取网页
完成必要工具安装后 。我们正式开始编写我们的爬虫 。我们的第一个任务是要抓取所有豆瓣上的图书信息 。我们以https://book.douban.com/subject/26986954/为例 。首先看看开如何抓取网页的内容 。
使用python的requests提供的get()方法我们可以非常简单的获取的指定网页的内容, 代码如下:
文章插图
提取内容
抓取到网页的内容后 。我们要做的就是提取出我们想要的内容 。在我们的第一个例子中 。我们只需要提取书名 。首先我们导入BeautifulSoup库 。使用BeautifulSoup我们可以非常简单的提取网页的特定内容 。
文章插图
连续抓取网页
到目前为止 。我们已经可以抓取单个网页的内容了 。现在让我们看看如何抓取整个网站的内容 。我们知道网页之间是通过超链接互相连接在一起的 。通过链接我们可以访问整个网络 。所以我们可以从每个页面提取出包含指向其它网页的链接 。然后重复的对新链接进行抓取 。
文章插图
通过以上几步我们就可以写出一个最原始的爬虫 。在理解了爬虫原理的基础上 。我们可以进一步对爬虫进行完善 。
写过一个系列关于爬虫的文章:https://www.toutiao.com/i6567289381185389064/ 。感兴趣的可以前往查看 。
Python基本环境的搭建 。爬虫的基本原理以及爬虫的原型
Python爬虫入门(第1部分)
如何使用BeautifulSoup对网页内容进行提取
Python爬虫入门(第2部分)
爬虫运行时数据的存储数据 。以SQLite和MySQL作为示例
Python爬虫入门(第3部分)
使用selenium webdriver对动态网页进行抓取
Python爬虫入门(第4部分)
讨论了如何处理网站的反爬虫策略
Python爬虫入门(第5部分)
对Python的Scrapy爬虫框架做了介绍 。并简单的演示了如何在Scrapy下进行开发
Python爬虫入门(第6部分)
其他观点:
Python 爬虫怎么做?
这是一个长期学习的过程 。这里有一个系列的教程 。还在持续更新中 。如果感兴趣的可以看看 。
原文:https://github.com/TwoWater/Python
IT 行业相对于一般传统行业 。发展更新速度更快 。一旦停止了学习 。很快就会被行业所淘汰 。但是 。我们要清楚:淘汰的永远只是那些初级水平的从业者 。过硬技术的从业者永远都是稀缺的 。因此对于学习 。我们还是要踏踏实实的 。
自学 Python。也是一样 。不要一开始因为头脑发热就不停地收藏各种资料网站 。购买各种书籍 。下载了大量的教学视频 。过了几天 。学习的热情开始褪去 。再过几个星期 。终于完成了学习课程 —— 《从入门到放弃》 。所以 。学习 Python 需要一步一个脚印 。踏踏实实地学 。
FQ
在讲 Python 如何入门之前 。个人建议最好每个人都有自己的 FQ 工具 。多使用 Google 搜索 。多去看一下墙外的世界 。多看 Github 上的开源项目 。
至于如何 FQ。这里提供一下我用过的工具:FQ工具集「https://github.com/TwoWater/Python/blob/master/Res/FQ.md」
Python 学习资源集
相信很多人学习某门编程语言的时候 。都会找各种学习资料 。说句实话 。资料太多 。反而没用 。根据自己的学习习惯 。个人能力选择一门资源坚持学就好了 。
因为每个人的需求不同 。这里整理了一批 Python 比较好的学习资料:
Python 博客网站资源「https://github.com/TwoWater/Python/blob/master/Res/Python%E5%8D%9A%E5%AE%A2%E7%BD%91%E7%AB%99%E8%B5%84%E6%BA%90.md」
Python 视频教程资源「https://github.com/TwoWater/Python/blob/master/Res/Python%E5%8D%9A%E5%AE%A2%E7%BD%91%E7%AB%99%E8%B5%84%E6%BA%90.md」
Python 入门
对于入门 。主要是掌握基本的语法和熟悉编程规范 。因此大部分的教程基本一致的 。所以还是建议选好适合自己的一个教程 。坚持学下去 。
在 Python 入门中 。本人自己编写了一系列的 《 草根学 Python 》 博客 。是基于 Python 3.6 写的 Python 入门系列教程 。为了更好的阅读 。把它整理在 GitBook 上;如果 GitBook 访问慢 。也可以到个人博客查阅:草根学 Python 。希望对各位入门 Python 有所帮助 。
推荐阅读
- 四川最好的茶叶品牌排行榜 四川茶叶企业排名
- 如果只玩精灵宝可梦的话。买NS还是NSL好?为什么?
- 一级警员和二级警员工资差多少?
- 福尔摩斯罪与罚凶手选错了怎么办_第一章卡住了解决方法
- 为什么会有玩家不看好《精灵宝可梦剑/盾》?
- 报考公安局科员好还是民警好?
- 《精灵宝可梦:剑/盾》的初始游玩体验如何?
- 公务员职位中法检系统中招录的法律类一级科员是什么?和四级检察官助理,法官助理有什么区别?
- 藏语扎西德勒是什么意思 扎西德勒意思介绍