美文网首页我爱编程
用Python+Selenium爬取今日头条关于江歌案的文章

用Python+Selenium爬取今日头条关于江歌案的文章

作者: myRealization | 来源:发表于2018-02-12 00:30 被阅读0次

    关于江歌案的讨论和分析,我呢,当然是站在正义一方的,而且我也不想重复那些结论了。

    不过网上仍然有很多关于江歌案的文章和讨论,我也想了解一下其他人的看法,了解一下舆情(笑)。但你让我一个个看下去,emmmmm……力不从心啊。

    作为新时代的文科生,我就班门弄斧写了个小爬虫,爬了一些文章下来。

    这篇文章就介绍一下这个。

    一、准备

    对于这方面有所了解的人来说可能没什么,但我还是写一下吧。

    首先,我们需要安装Python运行环境。如果你用的是macOS,那么你的系统里面实际已经预装好了Python。如果是windows,可以上网搜索python官网,进去下载相应版本即可。

    然后我们要使用到许多扩展包的功能。因此最好安装一个Python工具套装。只需要一次安装,以后大部分的功能就都已集成了。不必每次使用新功能,都去零敲碎打地安装新包了。

    Python的套装有许多种,这里推荐的是anaconda。这款软件包的安装更为便捷,扩展包的涵盖范围与结构更合理。

    请你到https://www.anaconda.com/download/下载anaconda套装。下拉网页找到下载位置。根据你的操作系统类型选择合适的版本。

    image

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

    接着请打开cmd命令台(命令提示符),键入以下命令。因为我不是单纯的只是爬取文章,还有词云制作,因而要下的包还有蛮多。

    mkdir demo

    cd demo

    现在我们有一个专用的工作目录,叫做demo了。接下来进入demo文件夹,因为我已经创建了,所以如下图所示。

    image

    在命令行下,先执行:pip install wheel

    然后,再执行:pip install wordcloud(此包常用于词云制作,本文不会用到)

    以及:pip install jieba (此包本文不会用到)

    接着执行:pip install selenium

    image

    同样,我已经全部安装了,我们需要的全部Python运行环境也终于装好了。

    请务必按照上述步骤执行,确保每一步都已经顺利完成。否则一旦遗漏,后面运行程序会报错。

    二、代码

    在命令行下,执行:jupyter notebook

    浏览器会自动开启,并且显示如下界面。

    当然,那个文件不是本来就有的,这里不管它。这就是咱们刚才的劳动成果——安装好的运行环境了。我还没有编写程序。

    image

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

    image

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

    我起的是今日头条爬取。

    image

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

    如下图所示,在文本框里敲入下列代码。务必逐字根据示例代码输入,空格数量都不可以有差别。这与语言特性有关,一时半会说不完。

    这段代码引入(import)一些库,用于存为csv文件,控制时间,和控制selenium工具。然后我们定义了一个函数,用于将文本内容写入CSV文件中。输入后,按Shift+Enter键,就可以执行了。

    image

    当然,没什么用,因为还没写主函数呢。

    然后,分别照下图键入相应代码。

    image

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

    image

    这段则是将URL写入。

    其实就是在今日头条下搜索“江歌案”出来的页面的地址。

    运行。

    image

    如上图显示,Chrome受到selenium的控制,打开了相应网页,也就得到了该页面的html文档。然后写入下段代码吗,get一下这个页面。程序会自动打开相应页面。

    接着是下述内容,这里难以全部说清,简单的说,我找到了其中的文章元素,进去抓取了发布者的id、发布时间、文章标题和文章内容。并用上面定义的towrite函数写入文档中。

    image

    输入后,按Shift+Enter键,就可以执行了。

    image

    然后你很快就会发现桌面出现了一个文档。

    image

    打开一下,可以看到:

    image

    最后一条:

    image

    转化为txt文件:

    image

    三、最后又不是最后

    虽然介绍有点长,但其实用不了多久,也就十几行代码。或许会觉得太麻烦了,但如果把上面代码中range()内的数值改为1000呢,那就可以抓取多少文章下来啊。

    当然,那时也可以换一种框架。

    本来还有后文的,也就是用文档内容制作词云提取关键词,分析文本中的情感,看人们的情绪如何随着事件进程变化的(这就是为什么我要爬取发布时间的原因了),然后绘画一下时间序列上的舆情分布图表……还想试一试SPSS社会统计学软件的作用……

    这样就能知道很多东西了。

    不过快要考试了。

    所以,只好下次了。

    image

    (先放张图)

    注:本文写于17年12月份,起于个人兴趣。现在搬上来作为CSDN的首作(笑)。今后也要认真地学习,认真地写博客监督自己。

    相关文章

      网友评论

        本文标题:用Python+Selenium爬取今日头条关于江歌案的文章

        本文链接:https://www.haomeiwen.com/subject/ebtrtftx.html