使用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网络爬虫爬取新浪新闻(一)》对你有帮助,请点赞、收藏,并留下你的观点哦!