【爬虫实战】用python爬今日头条热榜TOP50榜单! |
您所在的位置:网站首页 › 今日头条新闻抓取视频 › 【爬虫实战】用python爬今日头条热榜TOP50榜单! |
一、爬取目标
今天分享一期爬虫案例,爬取的目标是:今日头条热榜的榜单数据。 打开今日头条 首页,在页面右侧会看到头条热榜,如下: 爬取以上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 办公设备维修网 版权所有 豫ICP备15022753号-3 |