本文将以微博热搜榜为例,手把手教你使用Playwright
完成数据爬取全流程,适合零基础新手直接复制操作。最终结果将保存为清晰的CSV
文件。
代码
const { chromium } = require('playwright');
const { createObjectCsvWriter } = require('csv-writer');
console.log('开始抓取微博热搜');
(async () => {
// 启动浏览器
const browser = await chromium.launch({
headless: false, // 显示浏览器界面
slowMo: 50 // 操作延迟50ms(模拟真人操作)
});
// 创建页面实例
const context = await browser.newContext({
recordVideo: { dir: 'videos/' },
userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
});
const page = await context.newPage();
try {
// 访问微博热搜页面
await page.goto('https://s.weibo.com/top/summary', {
waitUntil: 'networkidle', // 等待页面完全加载
timeout: 30000// 超时时间30秒
});
// 定位热搜列表
await page.waitForSelector('.data tbody tr');
const hotItems = await page.$$('.data tbody tr');
// 提取数据
const records = [];
for (const item of hotItems) {
// 跳过表头
const th = await item.$('th');
if (th) continue;
// 提取文本内容
const titleElement = await item.$('td a');
const heatElement = await item.$('td span');
const title = titleElement ? await titleElement.textContent() : '无标题';
const heat = heatElement ? await heatElement.textContent() : '0';
records.push({ title, heat });
}
// 保存为CSV文件
const csvWriter = createObjectCsvWriter({
path: 'weibo-hot.csv',
header: [
{ id: 'title', title: '热搜标题' },
{ id: 'heat', title: '热度值' }
]
});
await csvWriter.writeRecords(records);
console.log('数据已保存至 weibo-hot.csv');
} catch (error) {
console.error('抓取失败:', error);
} finally {
await browser.close();
}
})();
爬取数据
热搜标题,热度值
习近平同巴基斯坦总统会谈,0
哪吒3留太多坑导演绝望,电影 1374593
雷军曾劝年轻人要尽快学会AI, 1181710
京彩春节的n种打开方式, 761916
教育厅回应男子举报提前开学被回怼, 675245
哪吒票房,电影 625656
泰缅边境地区断电后现状, 522521
丁禹兮包场请大家看哪吒,电影 518419
哪吒之魔童闹海总票房破57亿元,电影 460902
北京这次大风有一定极端性, 328455
缅甸妙瓦底居民排长队抢购燃油, 292645
吴宣仪 浪姐, 291502
小男孩误入彩虹滑道被滑圈铲飞, 290358
48岁李锋博士春节遭意外离世, 287612
哪吒2,电影 285189
12306回应买短乘长导致超员, 283952
麦琳开工, 277381
梅婷回复沈月,剧集 273506
节后第二天状态, 268511
ChatGPT搜索功能今起人人可用, 262458
金价, 255633
男子连续开车10小时到杭州差点截肢, 254965
英伟达市值一夜涨超1万亿, 250594
41岁女子多次暴饮暴食险丧命, 250319
哪吒2票房有望破中国影史记录,电影 238955
以色列欢迎美国退出联合国人权理事会, 237459
巴特勒加盟勇士, 235986
怎么看待坐飞机加价选座, 224844
哪吒2电影票在北美被疯抢,电影 220693
射雕英雄传侠之大者票房破6亿,电影 212613
男子恋爱1年不知24岁女友竟有俩娃, 201662
郑钦文和前法网冠军合作, 200223
有了DeepSeek学语文还有用吗, 199954
饺子说敖丙武器不叫海盐棒棒糖, 199902
桑延有一双爱温以凡的眼睛,剧集 199872
哪吒盲盒手办上架两天就售罄,电影 191700
国家安全机关发布安全提示, 177312
金吒木吒绝望的住校生,电影 176294
李昀锐把自己哄成胚胎了, 148571
战狼2,电影 148372
和扎手指测血糖说拜拜, 147542
房产中介连续4年收入超100万, 144633
维金斯加盟热火, 139974
央农谈重塑哪吒为何用莲藕,电影 139558
沈腾方否认和林允恋情, 139199
警方通报男子服务区划破他人汽车轮胎, 133143
掌心,剧集 132398
特朗普下令审查联合国教科文组织, 131966
剑网3, 131854
京津冀最大阵风可达9级, 131529
刘诗诗掌心叶平安眼技,剧集 125698
录制的视频
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容