300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中

Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中

时间:2019-03-16 07:38:51

相关推荐

Python网络爬虫:爬取CSDN热搜数据 并保存到本地文件中

hello,大家好,我是wangzirui32,今天我们来学习如何爬取CSDN热搜数据,并保存到Excel表格中。

开始学习吧!

学习目录

1. 数据包抓取2. 编写代码

1. 数据包抓取

打开CSDN首页,再打开检查(或为审查元素,各大浏览器不同,笔者用的是FireFox浏览器),点击“网络”(或是Network),再点击搜索框,可以看到出现了4个请求:

经过分析,发现网址为:

/api/v2/assemble/list/channel/pc_hot_word?channel_name=pc_hot_word&size=10&user_name=wangzirui32&platform=pc&imei=10_19279376140-1610717024696-925673

返回的数据为:

看来,这就是热搜数据的原地址,但是,我们先不着急编写代码,前面说了url是很长的,但是我们可以删减url参数,毕竟有些url的参数是用来迷惑各位爬虫程序员的,删减后的url为:

/api/v2/assemble/list/channel/pc_hot_word?size=10

看见没,url只剩下了一个参数,不仅降低了编写网页参数字典的难度,还可以控制爬取热搜的数量(size参数),岂不妙哉!

2. 编写代码

import requestsfrom fake_useragent import UserAgent"""fake_useragent库安装:pip install fake-useragentfake_useragent库是用来生成请求头中的User-Agent信息"""headers = {"User-Agent": UserAgent().random,"Host": "",}url = "/api/v2/assemble/list/channel/pc_hot_word"params = {"size": "10",}print("获取数据...")r = requests.get(url, params=params, headers=headers)print("解析数据...")json_data = r.json()['data']['items']hot_content_list = []# 从json数据中提取热搜内容并存储到列表中for i in json_data:hot_content = i["productId"]hot_content_list.append(hot_content)print("保存数据...")with open("CSDN-Hot.txt", "w") as f:num = 1 # 序号for i in hot_content_list:f.write(str(num) + " " + i + "\n")num += 1print("爬取结束!热搜数据已经保存到CSDN-Hot.txt文件中!")

运行代码,打开CSDN-Hot.txt文件,可以看到:

1 QQ读取用户浏览记录2 SQL注入漏洞防护3 程序员离职小技巧4 美赛数学建模5 linux命令行大全6 python新手练习题7 高质量自学网站8 eclipse安装教程9 Linux常用命令大全10 机器学习

好了,今天的课程就到这里,感兴趣的可以点个赞和收藏,我们下次再见!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。