python爬虫爬取今日头条_爬取今日头条头条号文章数据
0,背景介绍
最近想爬取一些今日头条的文章浏览数据,分析哪些头条号做的好,那些做的不好。
今日头条
比如上图的阅读数,评论数以及文章标题,通过这些数据进行分析。
于是展开了艰难的爬虫探索之旅
第一目标是爬取某个或某几个头条号的历史浏览数据。
直接列出取得的结果吧
1,获得url
这一步非常关键,特意去请教了爬虫大神,得出要用Charles或其他的工具来获得数据存放的位置,注意,头条号的文章列表数据无法在HTML中直接定位到。
只要将“3400026401”一串数字,替换成每个账号的域名的数字,就可以爬取每个账号的内容了。
这种笨办法只能一个个爬取,因为时间和基础有限,计划先把这条路走通了再说。
还有一点就是,今日头条有反爬虫机制,如果通过机器批量下载存在风险,如何避过反爬虫机制又要花大量时间
2,复制json
将上述网址复制到浏览器中,既可以得到一大段json,长成这样,第一次见json
json
用这个bejson工具,将原格式的json翻译一下,bejson
翻译之后就可以看到中文了,终于有点人类语言的样子了
3,用R解析json
首先要安装rjson包,提前将第2步翻译之后的json文件复制放在一个地方,我是放在了keji.json文件中,然后用fromJSON读取文件,代码如下
install.packages("rjson")
library("rjson")
result <- fromJSON(file="keji.json" )
然后,看一下长啥样子
head(result)
样子.png
里面存的东西非常多,可以看到文件是以列表格式存放的
主要分为这几块:
names(result)
我们只需要取data部分的数据就行,第一步只取标题名称看看
读取其中一部分数据
result$data[[1]]$title
结果如下:
Paste_Image.png
4,获取数据
取出前20条数据
for (i in 1:20) {
x=result$data[[i]]$title
print(x)
}
运行结果如下:
Paste_Image.png
5,分析数据
同样的方法把评论和阅读数弄出来
阅读量
评论数
爬虫还得花时间好好用,
虽然还没有达到理想的爬虫效果,但是也取得了一部分进展,下次接着更新。