失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用python网络爬虫爬取新浪新闻(一)

使用python网络爬虫爬取新浪新闻(一)

时间:2019-02-24 18:09:35

相关推荐

使用python网络爬虫爬取新浪新闻(一)

使用python网络爬虫爬取新浪新闻

第一次写博客,感觉有点不太习惯!不知道怎么突然就想学学爬虫了,然后就用了一天的时间,跟着教程写了这个爬虫,!不说废话了,我将我从教程上学习的东西整个写下来吧,从头开始:

首先,运行环境为:python3.6

推荐安装anaconda,因为安装套件时会更容易

官网下载地址:/download/

安装完anaconda后,接下来安装一些套件

requests套件:网络资源(URLs)拮取套件,可以使用REST操作(POST,PUT,GET DELETE)存取网络资源

安装方法 : 使用 pip install requests 命令进行安装

安装步骤:

BeautifulSoup4套件:是一个可以从HTML或XML文件中提取数据的Python库,它可以让你帮助你对提取的文档进行查找等等操作。

安装方法: 使用 pip install BeautifulSoup4 命令进行安装

安装步骤: 同上

然后就是安装编辑器

Jupyter notebook:一个交互式笔记本,支持运行 40 多种编程语言,反正都说它挺好的

安装方法: 使用 pip install jupyter 命令进行安装

安装步骤: 同上

接下来打开编辑器

打开方法: 使用 jupyter notebook 命令打开

打开步骤:

然后你会发现浏览器打开了一个视窗

然后选择编译环境

接下来你会看见

到这里整个准备工作就结束了

接下来就开始实际操作了

步骤一:

获取文章的内容

#调用requests套件import requests #使用requests套件里面的get方法获取新浪新闻res = requests.get('/china/')#将获取的字符串编码设置为utf-8res.encoding = 'utf-8'print(res.text)

看看结果吧:

是不是很神奇,我第一次也这么觉得!!!

我们可以看到我们获取的是一个整个html文档,但是我们想要获取的里面部分的内容,因此

步骤二:

获取html里面的部分内容

那么我们要找到自己想要获取内容在html中的位置,这里使用Google浏览器的开发者工具,下面我想找蓝色部分的内容,点击发现这些内容放在一个class为blk12的块里

#添加BeautifulSoup4中的BeautifulSoup函数from bs4 import BeautifulSoup#将之前获取的html文档放入BeautifulSoup,并制定剖析器方法为html.parsersoup = BeautifulSoup(res.text,'html.parser')#查找class为blk12的内容#注明:为class时在前面加".",为id时在前面加"#"soup.select('.blk12')

看看结果吧:

我们发现我们想要的内容被放在一个列表(python的一种数据类型)里面,并且都在<a>标签下面,那么接下来我们要做的就是从这里面把文本取出来

from bs4 import BeautifulSoupsoup = BeautifulSoup(res.text,'html.parser')#查找class为blk12 且 标签为<a>的内容news = soup.select('.blk12 a')#因为返回的列表中有很多项,所以用一个for循环输出for new in news:print(new.text)

结果:

大功告成,哈哈!!!

本来想一次写完的,突然发现要写的详细确实慢的,那就分几次写吧

如果觉得《使用python网络爬虫爬取新浪新闻(一)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。