正文
这篇文章里,我把之前的发布的数据科学系列文章做了重新组织和串讲。
文中包含很多之前教程的标题和对应链接。例如下图红色边框圈起来的部分。
假设你对文中提到教程都很感兴趣,希望获得这些文章的链接,并且存储到Excel里,就像下面这个样子:
你需要把非结构化的分散信息(自然语言文本中的链接),专门提取整理,并且存储下来。
该怎么办呢?
即便不会编程,你也可以全文通读,逐个去找这些文章链接,手动把文章标题、链接都分别拷贝下来,存到Excel表里面。
但是,这种手工采集方法
没有效率
。
我们用Python。
环境
要装Python,比较省事的办法是安装Anaconda套装。
请到
这个网址
下载Anaconda的最新版本。
请选择左侧的 Python
3.6
版本下载安装。
如果你需要具体的步骤指导,或者想知道Windows平台如何安装并运行Anaconda命令,请参考我为你准备的
视频教程
。
安装好Anaconda之后,请到
这个网址
下载本教程配套的压缩包。
下载后解压,你会在生成的目录(下称“演示目录”)里面看到以下三个文件。
打开终端,用cd命令进入该
演示目录
。如果你不了解具体使用方法,也可以参考
视频教程
。
我们需要安装一些环境依赖包。
首先执行:
pip install pipenv
这里安装的,是一个优秀的 Python 软件包管理工具 pipenv 。
安装后,请执行:
pipenv install
看到演示目录下两个Pipfile开头的文件了吗?它们就是 pipenv 的设置文档。
pipenv 工具会依照它们,自动为我们安装所需要的全部依赖软件包。
上图里面有个绿色的进度条,提示所需安装软件数量和实际进度。
装好后,根据提示我们执行:
pipenv shell
此处请确认你的电脑上已经安装了 Google Chrome 浏览器。
我们执行:
jupyter notebook
默认浏览器(Google Chrome)会开启,并启动 Jupyter 笔记本界面:
你可以直接点击文件列表中的第一项ipynb文件,可以看到本教程的全部示例代码。
你可以一边看教程的讲解,一边依次执行这些代码。
但是,我
建议
的方法,是回到主界面下,新建一个新的空白 Python 3 笔记本。
请跟着教程,一个个字符输入相应的内容。这可以帮助你更为深刻地理解代码的含义,更高效地把技能内化。
准备工作结束,下面我们开始正式输入代码。
代码
读入网页加以解析抓取,需要用到的软件包是 requests_html 。我们此处并不需要这个软件包的全部功能,只读入其中的 HTMLSession 就可以。
from requests_html import HTMLSession
然后,我们建立一个会话(session),即让Python作为一个客户端,和远端服务器交谈。
session = HTMLSession()
前面说了,我们打算采集信息的网页,是《
如何用《玉树芝兰》入门数据科学?
》一文。
我们找到它的网址,存储到url变量名中。
url = 'https://www.jianshu.com/p/85f4624485b9'
下面的语句,利用 session 的 get 功能,把这个链接对应的网页整个儿取回来。
r = session.get(url)
网页里面都有什么内容呢?
我们告诉Python,请把服务器传回来的内容当作HTML文件类型处理。我不想要看HTML里面那些乱七八糟的格式描述符,只看文字部分。
于是我们执行:
print(r.html.text)
这就是获得的结果了: