Ajax爬取微博

这篇博客介绍了如何利用Python爬取移动端微博数据。首先解释了Ajax爬取的原理,然后详细阐述了爬取的步骤,包括查看Ajax请求、创建请求头部与Ajax请求、获取并解析数据以及将结果写入文本文件。在实践中,由于微博网页的变化,原有的教程已不适用,因此博主调整了请求参数以适应新的请求方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据书上的案例写的,但是案例太老,所以案例中给的微博地址访问后,居然打开了移动端的微博页面,其余的网络请求界面,网络请求回应的数据大体上跟书上的内容一致,但是如果爬取的是现在的微博网址的话,书上的案例教程搭配不上,所以下面的代码爬取的是移动端的微博网址。

爬取结果:
在这里插入图片描述

原理介绍

有很多网页不是静态网页,当你直接使用get请求网页时,返回的html代码中其实没有包含任何有用的信息,那些你需要的信息还没有被网页渲染上去,我们实际在网页中浏览的信息是由JavaScript处理后生成的结果,这些数据是由原网页发送了一个Ajax请求,通过请求返回的数据,再次渲染网页。

准备工作

安装urllib,pyquery,json,requests模块。没有安装的,直接pip install 模块名就行,如果还安装不下了,就升级一下pip版本。

流程解析

第一步:查看Ajax请求

为了获取到通过Ajax请求后渲染的网页数据,我们首先要知道网页发送了什么样的Ajax请求来请求数据。
打开网址:https://m.weibo.cn/u/2830678474 ,右键检查,查看Network选项卡内容。
在这里插入图片描述
若没有数据,我们需要再刷新一次。Ajax的特殊请求类型为XHR。点击getIndex开头的请求,查看其详细的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值