每天进步一点点,这是我的小目标。
这是第6次学习与实践笔记了,这一次咱们把对象转移到百度搜索去,尝试使用火车浏览器爬虫工具来采集百度新闻搜索的结果,并做简单数据可视化展示。
01 抓取需求
因为我经常喝陕茶的缘故,咱们以关键词“陕茶”为例,采集百度新闻搜索结果,要求新闻全文中包含关键词“陕茶”,而且发布日期是内的新网条目。
采集的变量包括新闻标题、网址链接、来源及日期,最终目标是初步探查在里有哪些网站在发布和推广陕茶,相关结果可辅助决策陕茶宣传推广方案。
02 脚本逻辑
创建新脚本,首先打开百度新闻首页,搜索框内键入“陕茶”,激活搜索按钮开始执行搜索任务。接下来激活新闻条目的排序方式,并选择“按时间排序”,便于后续采集陕茶新闻。第三步开始多行提取,采集第1页搜索结果的所有新闻条目,创建变量“标题”“网址”“来源及日期”,然后数据存入access数据库。剩余的步骤是下一页搜索结果抓取,并设置循环采集流程。
本次爬虫脚本共15步完成。
03 难点突破
第一个难点:激活“按时间排序”选项,只有先激活该选项才能看到相应的网页代码,才能让爬取过程实现按新闻发布日期排列;
第二个难点:搜索结果新闻条目网页代码不一致问题,大家看下面截图,有的新闻条目带一张缩略图,有的新网条目不带缩略图,在多行提取设置Xpath代码时应予区分;
04 数据库部署
文彤老师推荐小白用户首选access数据库,我想只要是安装了office办公软件的电脑上应该都有access数据库吧,不用额外安装,使用起来比其他数据库更方便,而且和excel天然是一家,导出表格数据非常便捷。
数据库比文本文档或直接保存excel的优势在于,关系数据库的主键功能可以帮助我们自动判断重复数据。
05 抓取结果展示
此次实践共采集到有效新网条目126条,截取一部分抓取的结果如下:
接下来我们需要对采集到的原始数据进行简单清洗,主要对象是“来源及日期”变量,将其拆分为“来源”“年份”“月份”三个独立的变量。具体拆件技术操作见 《Excel换行符在公式、查找替换、分行定位操作中如何输入?》一文。
经透视表汇总整理,看看我们最想要的数据,如下:
可视化效果,如下:
近几年,以“汉中仙毫”“陕茶一号”“紫阳富硒茶”“鹏翔茶”“东裕茗茶”“泾阳茯茶”为代表的陕茶军团,将陕茶市场越做越大,“陕茶”的概念也逐渐凸显,尤其是“汉中仙毫”作为区域公用品牌,以20.77亿元位列全国茶叶区域公用品牌价值排行第17位。不论是政府网站,或是区域主流媒体均对陕茶进行大量宣传推广,安康政府网、陕西省人民政府网宣传力度名列前二,陕西主流媒体西部网、三秦网、华商网分列第3/4/6位。
这些网站权威、作为新闻来源公信力强,百度搜索收录效果明显,陕茶军团可充分利用这些平台进行产品和品牌的推广。
有点遗憾的是,本地主流媒体陕西传媒网关于陕茶的报道没有被百度新闻收录,应引起相关网站工作人员关注。
特别说明,本次实践仅为学习使用,如有侵犯相关网站权益,请告知立删。文章所列举数据因关键词覆盖面小不可作为相关依据用于决策支持。
05 实践小结
1、遵守底线,爬取网络公开数据;
2、零编程的网络爬虫也可以发挥巨大作用;
3、新闻标题文本分析价值大;
对网络爬虫感兴趣的,恐惧Python编程,恐惧R语言爬虫的小白用户,欢迎一起来学习文彤老师的视频课程,扫码参加。
课程网址
(全文完)