【爬虫实战】用python爬今日头条热榜TOP50榜单! 您所在的位置:网站首页 今日头条新闻大事件邹城 【爬虫实战】用python爬今日头条热榜TOP50榜单!

【爬虫实战】用python爬今日头条热榜TOP50榜单!

2024-07-12 19:42| 来源: 网络整理| 查看: 265

文章目录 一、爬取目标二、爬取结果三、代码讲解四、技术总结五、演示视频六、附完整源码

一、爬取目标

您好!我是@马哥python说,一名10年程序猿。

今天分享一期爬虫案例,爬取的目标是:今日头条热榜的榜单数据。

爬取以上6个关键字段,含:

热榜排名,热榜标题,热度值,热榜标签,热榜分类,热榜链接。

打开今日头条首页,在页面右侧会看到头条热榜,并进行开发者模式分析: 开发者分析

二、爬取结果

爬取结果截图: 部分数据

三、代码讲解

首先,导入需要用到的库:

import requests import pandas as pd import re

定义一个请求头:(爬取目标较简单,一个User-agent即可)

# 请求头 h1 = { 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Safari/605.1.15', }

定义请求地址:

url = 'https://www.toutiao.com/hot-event/hot-board/?origin=toutiao_pc'

用requests发送请求:

# 发送请求 response = requests.get(url, headers=h1)

查看响应码并以json方式接收返回数据:

# 查看响应码 print(r.status_code) # 接收返回数据 json_data = r.json()

定义一些空列表,用于存放数据:

title_list = [] # 热榜标题 value_list = [] # 热度值 url_list = [] # 热榜链接 category_list = [] # 热榜分类 label_list = [] # 热榜标签

以"热榜标题"字段为例:

for data in json_data['data']: # 热榜标题 title = data['Title'] print('热榜标题:', title) title_list.append(title)

其中,热榜链接比较特殊,接口中返回的url很长,形如: 某个热榜链接

可以看到,url中从?往后,都是不必要的请求参数。

所以,用正则表达式把?后面的全部删掉,提取出id,再进行拼接url,如下:

# 正则表达式提取出链接id url3 = re.search(r"(?


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有