当前位置:聪少自媒体网 > 今日头条 > 正文

今日头条标签新闻的爬取

2020-10-05 今日头条 聪少自媒体

本文主要讲,用户输入标签后,通过爬虫,可实现获取相关的新闻,将获取的新闻保存为.csv文件。

首先导入需要的第三方库

以‘爱国’标签为例,获取的网址为:https://www.toutiao.com/api/search/content/?aid=24&app_name=web_search&offset=0&format=json&keyword=%E7%88%B1%E5%9B%BD&autoload=true&count=20&en_qc=1&cur_tab=1&from=search_tab&pd=synthesis×tamp=1569648697670】

我们可以发现中间有一个keyword,经验告诉我们,这个就是标签,我们需要改变的的也正是这个,同时我们也该注意到url最后面有一个 timestamp,这个是时间戳,为了避免长时间使用同一个时间戳,这里需要引入time模块,生成一个即时的时间戳。

代码如下:

今日头条的反爬挺厉害的,如果headers中不传入cookie,是无法多次都返回我们需要的新闻内容的,而cookie的获取有简单的方式就是复制粘贴;即打开一个标签的文章,打开开发者工具,在headers中复制cookie,如图;

headers的伪装代码如下:

'https://www.toutiao.com/api/search/content/?aid=24&app_name=web_search&offset=0&format=json&keyword=%E6%B3%95%E5%9B%BD&autoload=true&count=20&en_qc=1&cur_tab=1&from=search_tab&pd=synthesis×tamp=1569650894434'

为例;

我们打开开发者工具点击左边第一个可以看到如下图面:

经过分析,我们可以发现新闻主要在字段'data'中:

需要注意的是:data中并非所有都是新闻,最后我发现当出现‘abstract’这个字段时,一定是新闻,这里可以借此加一个判断

点开data中的其中一个内容,如图:

而我们需要的提取的内容分别就是字段:abstract,articleurl,commentscount,datetime,read_count,title

代码实现:

使用pandas库的to_csv来保存成.csv文件

代码如下:

上面的是按顺序执行下来的,而完整代码我是用面向对象的编程方式(即使用类)

完整代码如下:

以上就是本期的内容,本文如果存在不足和错误欢迎指出,谢谢大家的阅读!!!

聪少爱学堂聪少
聪少爱学堂创始人,梅州市鹏鑫网络科技有限公司CEO,09年开始踏入互联网,10年互联网行业经验,资深自媒体人,自媒体优秀导师,咪挺微商团对营销引流顾问,业务包含:精准引流技术/代引流精准粉,专业小红书,知乎,微博代运营。
  • 38988文章总数
  • 1491135访问次数
  • 建站天数
  • 合作伙伴