用Python+Selenium爬取今日头条关于江歌案的文章
发布日期:2021-07-01 03:02:30 浏览次数:2 分类:技术文章

本文共 2015 字,大约阅读时间需要 6 分钟。

用Python+Selenium爬取今日头条关于江歌案的文章
 
关于江歌案的讨论和分析,我呢,当然是站在正义一方的,而且我也不想重复那些结论了。不过网上仍然有很多关于江歌案的文章和讨论,我也想了解一下其他人的看法,了解一下舆情(笑)。但你让我一个个看下去,emmmmm……力不从心啊。
作为新时代的文科生,我就班门弄斧写了个小爬虫,爬了一些文章下来。这篇文章就介绍一下这个。
 
 
一、准备
 
对于这方面有所了解的人来说可能没什么,但我还是写一下吧。
 
首先,我们需要安装Python运行环境。如果你用的是macOS,那么你的系统里面实际已经预装好了Python。如果是windows,可以上网搜索python官网,进去下载相应版本即可。
 
然后我们要使用到许多扩展包的功能。因此最好安装一个Python工具套装。只需要一次安装,以后大部分的功能就都已集成了。不必每次使用新功能,都去零敲碎打地安装新包了。
Python的套装有许多种,这里推荐的是anaconda。这款软件包的安装更为便捷,扩展包的涵盖范围与结构更合理。
请你到https://www.anaconda.com/download/下载anaconda套装。下拉网页找到下载位置。根据你的操作系统类型选择合适的版本。

 

选择3.X版本,这是python的未来。

接着请打开cmd命令台(命令提示符),键入以下命令。因为我不是单纯的只是爬取文章,还有词云制作,因而要下的包还有蛮多。
mkdir demo
cd demo
现在我们有一个专用的工作目录,叫做demo了。接下来进入demo文件夹,因为我已经创建了,所以如下图所示。
 
在命令行下,先执行:pip install wheel
然后,再执行:pip install wordcloud(此包常用于词云制作,本文不会用到)
以及:pip install jieba (此包本文不会用到)
接着执行:pip install selenium
 
同样,我已经全部安装了,我们需要的全部Python运行环境也终于装好了。
请务必按照上述步骤执行,确保每一步都已经顺利完成。否则一旦遗漏,后面运行程序会报错。
 
二、代码

 

在命令行下,执行:jupyter notebook
浏览器会自动开启,并且显示如下界面。
 
当然,那个文件不是本来就有的,这里不管它。这就是咱们刚才的劳动成果——安装好的运行环境了。我还没有编写程序。

 

回到Jupyter笔记本的主页面。我们点击New按钮,新建一个笔记本(Notebook)。在Notebooks里面,请选择Python 3选项。

 
 
系统会提示我们输入Notebook的名称。程序代码文件的名称,你可以随便起。然后就出现了一个空白的笔记本,供我们使用了。
 
我起的是今日头条爬取。

 
接着进入该ipynb文件,看到文本框。

 

如下图所示,在文本框里敲入下列代码。务必逐字根据示例代码输入,空格数量都不可以有差别。这与语言特性有关,一时半会说不完。
 
这段代码引入(import)一些库,用于存为csv文件,控制时间,和控制selenium工具。然后我们定义了一个函数,用于将文本内容写入CSV文件中。输入后,按Shift+Enter键,就可以执行了。
当然,没什么用,因为还没写主函数呢。
 
然后,分别照下图键入相应代码。

这段用于打开Chromedriver,即为谷歌浏览器驱动程序。事先要下好存入相应目录 。

 
这段则是将URL写入。
其实就是在今日头条下搜索“江歌案”出来的页面的地址。
运行。
 
如上图显示,Chrome受到selenium的控制,打开了相应网页,也就得到了该页面的html文档。然后写入下段代码吗,get一下这个页面。程序会自动打开相应页面。
 
接着是下述内容,这里难以全部说清,简单的说,我找到了其中的文章元素,进去抓取了发布者的id、发布时间、文章标题和文章内容。并用上面定义的towrite函数写入文档中。
 
 
输入后,按Shift+Enter键,就可以执行了。

 
然后你很快就会发现桌面出现了一个文档。
 
 
打开一下,可以看到:
 
最后一条:
 
转化为txt文件:
 
 
 
三、最后又不是最后
 
虽然介绍有点长,但其实用不了多久,也就十几行代码。或许会觉得太麻烦了,但如果把上面代码中range()内的数值改为1000呢,那就可以抓取多少文章下来啊。
 
当然,那时也可以换一种框架。
 
本来还有后文的,也就是用文档内容制作词云提取关键词,分析文本中的情感,看人们的情绪如何随着事件进程变化的(这就是为什么我要爬取发布时间的原因了),然后绘画一下时间序列上的舆情分布图表……还想试一试SPSS社会统计学软件的作用……
这样就能知道很多东西了。
 
不过快要考试了。
所以,只好下次了。
(先放张图)
注:本文写于17年12月份,起于个人兴趣。现在搬上来作为CSDN的首作(笑)。今后也要认真地学习,认真地写博客监督自己。
 

转载地址:https://memcpy0.blog.csdn.net/article/details/79314005 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Python包安装问题日志(一)
下一篇:LeetCode 1894. Find the Student that Will Replace the Chalk【数组/前缀和/二分】中等

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月26日 08时00分05秒