您的位置:新闻资讯 >文章内容
案例实战:爬虫怎么爬取新闻信息
来源:后端漫谈 作者:admin 时间:2018-12-04 17:25:30

    爬虫可以大量的爬取数据,通过整合数据,可以挖掘有价值的信息,常常应用于电商等行业。许多新手也想通过自学,学会爬虫的编写,实现数据的爬取。今天精灵代理小编跟大家分享爬取新闻信息的案例,至于爬虫怎么爬取新闻信息,就跟小编一起去了解一下。


    一、爬取目的


    主要是爬取网易新闻,包括新闻标题、作者、来源、发布时间、新闻正文。


    二、爬取步骤


    1.找出请求地址


    我们打开163的网站,我们随意选择一个分类,这里我选的分类是国内新闻。然后鼠标右键点击查看源代码,发现源代码中并没有页面正中的新闻列表。这说明此网页采用的是异步的方式。也就是通过api接口获取的数据。


    那么确认了之后可以使用F12打开谷歌浏览器的控制台,点击 Network,我们一直往下拉,发现右侧出现了:"… special/00804KVA/cm_guonei_03.js? … "之类的地址,点开Response发现正是我们要找的api接口。


    可以看到这些接口的地址都有一定的规律:“cm_guonei_03.js”、“cm_guonei_04.js”,那么就很明显了:


    http://temp.163.com/special/00804KVA/cm_guonei_0(*).js


    上面的链接也就是我们本次抓取所要请求的地址。


    接下来只需要用到的python的两个库:


    2.开始编写爬虫


    先导入requests、json、BeautifulSoup三个包。requests库就是用来进行网络请求的,说白了就是模拟浏览器来获取资源。由于我们采集的是api接口,它的格式为json,所以要用到json库来解析。BeautifulSoup是用来解析html文档的,可以很方便的帮我们获取指定div的内容。


    接着我们定义一个获取指定页码内数据的方法:


案例实战:爬虫怎么爬取新闻信息


    这样子就得到每个页码对应的内容列表:


案例实战:爬虫怎么爬取新闻信息


    之后通过分析数据可知下图圈出来的则是需要抓取的标题、发布时间以及新闻内容页面。


    既然现在已经获取到了内容页的url,那么接下来开始抓取新闻正文。


    在抓取正文之前要先分析一下正文的html页面,找到正文、作者、来源在html文档中的位置。


    我们看到文章来源在文档中的位置为:id = “ne_article_source” 的 a 标签。作者位置为:class = “ep-editor” 的 span 标签。正文位置为:class = “post_text” 的 div 标签。


    下面采集这三个内容的代码:


案例实战:爬虫怎么爬取新闻信息


    到此为止我们所要抓取的所有数据都已经采集了,为了方便直接采取文本的形式来保存。


    格式为json字符串,“标题” : [ ‘日期’, ‘url’, ‘来源’, ‘作者’, ‘正文’ ]。


    要注意的是目前实现的方式是完全同步的,线性的方式,存在的问题就是采集会非常慢。主要延迟是在网络IO上,下次可以升级为异步IO,异步采集,有兴趣的可以关注下次的文章。


    上文比较详细的介绍了爬虫怎么爬取新闻信息,通过本次练手,各位应该会对爬虫有一个入门级的了解。作为一位新手,还是多动手,多实践,才能学到东西,仅仅是看,学不会。


相关文章内容简介
在线咨询
微信公众号

微信公众号

回到顶部