Python通过抓包和使用cookie爬取微博完全讲解(附视频)

简介:

今天给大家录制了一个爬新浪微博的爬虫,也用到了抓包分析网址,但相较于以前,单纯的使用抓包分析网址在新浪微博是无效的。

cookie是什么

某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除。持续的 Cookie 则保存在用户的 Cookie 文件中,下一次用户返回时,仍然可以对它进行调用。

注意:

微博中的cookie有时间限制,如果运行有问题,可以更换下cookie

如何使用cookie

Cookie = {‘Cookie’: ’UM_distinctid=15ab64ecfd6592-0afad5b368bd69-1d3b6853-13c680-15ab64ecfd7b6;
 remember_user_token=W1sxMjEzMTM3XSwiJDJhJDEwJHhjYklYOGl2eTQ0Yi54WC5seVh2UWUiLCIxNDg5ODI2OTgwLjg4ODQyODciXQ%3D%3D---ac835770a030c0595b2993289e39c37d82ea27e2;
 CNZZDATA1258679142=559069578-1488626597-https%253A%252F%252Fwww.baidu.com%252F%7C1489923851’}
AI 代码解读

我们要构造成字典格式,如上。这样应用到请求网址的时候添加到请求头中去即可(不懂也没关系,继续往下看,有视频讲说的)。

requests库

rquests is an elegant and simple HTTP library for Python, built for human beings. Requests是一个优雅简洁的Python HTTP库,给人类使用。

使用方法如下:

r=requests.get(url,cookiess = Cookie)
AI 代码解读

实战分析

cb803f41c1237b465d2ae96fc4b5519b02f68a10

那么我们打开开发者工具,抓包分析下网址验证我们的网址规律思路

抓包分析

cc1a4b0d648fc8762651f4fc0dc56ac69597821d

接下来我只是测试下,抓孔庆东微博博文的标题,如下图红色方框对应的html标签是h4

e88dfe697fc5056a6c180e6f22532812e911dbc9

代码及运行图部分

2aa32d1887a92ab052e91f427271791459b4ccca

本文视频讲解如下:

7b14f0bc87a9174a4863a72ec8298f473427680b



原文发布时间为:2017-03-21

本文作者:邓旭东

本文来自云栖社区合作伙伴“Python中文社区”,了解相关信息可以关注“Python中文社区”微信公众号

目录
打赏
0
0
0
0
14291
分享
相关文章
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
57 4
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
103 0
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
1月前
|
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
30 5
|
2月前
|
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
45 5
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性
深入解析:使用Python爬取Bilibili视频
本文介绍了如何使用Python编写脚本自动化下载Bilibili视频。通过requests等库获取视频和音频URL,使用ffmpeg合并音视频文件,最终实现高效下载。注意遵守网站爬虫政策和法律法规。
341 4