目前可以基本上说是Python的天下,Python真的是非常火的一门编程语言,而且它非常的简单,以至于小学生都可以学会,那么作为已经成年的我,更应该学习这门编程语言了,下面我就将自己在学习Python爬虫时遇到的问题进行简单的总结:
既然要使用Python爬取网站信息,那么我们就需要知道怎么使用Python才能爬取到我们需要的信息,这就牵扯到我们今天需要介绍的内容:requests库
- 首先是安装requests库:如下图所示:
代码如下:
pip install requests
需要注意的一点是,如果安装出现了错误,这个时候需要更换到国内的源,国内的是使用的是豆瓣,具体方法,请自行百度。
- 安装jupyter
具体的安装步骤:请参阅Python学习之Jupyter Notebook和highchart安装,下面我们就可以是用jupyter来书写代码,而且操作方法。
- 爬虫代码
当然我们练习的时候,可以使用简书的网站来爬取数据,代码如下:
# -*- coding: utf-8 -*-
import requests
url = 'http://www.jianshu.com'
res = requests.get(url)
print(res.text)
就可以答应出下面图片中所示的内容,跟简书网站比较,就发现我们已经完整的将简书网首页的数据爬取下来了。如图:
- 使用BeautifulSoup来解析网页数据
现在我们是已经将网页整个html页面拿到了,可是这里面包含很多的标签,我们需要去掉标签,将标签中的有用的信息展示出来,那么就需要使用另外一个非常好用的Python库--BeautifulSoup,到底如何解析标签中的数据内,我们可以通过查看文档(Beautiful Soup 4.2.0 文档)来进行解析,也可以浏览视频,而且现在的在线教育的视频资源是非常丰富的。
下面我就展示其中的一种解析方法,当然有很多的解析方法,具体可以查阅文档。代码如下:
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
url = 'http://www.jianshu.com'
res = requests.get(url)
ret = res.text
# print(type(ret))
soup = BeautifulSoup(ret,'html.parse')
print(soup.text)
需要注意的是:我的环境使用的Python3.5的版本,因此在打印输出的时候使用的是小括号,而在Python2.7的版本中打印时不需要使用小括号,还有使用BeautifulSoup解析字符串时,需要传入第二个参数,如果没有传入的话,会出现警告错误的,获得的数据如下:
当然这只是获得了所有的数据,我们还可以具体的获得其中一小部分的数据,我们下次再进行说明。