Mac 和 Linux/Win 均可用!微博爬虫系列更新

月小水长

共 1568字,需浏览 4分钟

 ·

2022-01-02 09:29

    点击上方 月小水长 并 设为星标,第一时间接收干货推送

这是 月小水长 的第 107 篇原创干货

目前公众号平台改变了推送机制,点“赞”、点“在看”、添加过“星标”的同学,都会优先接收到我的文章推送,所以大家读完文章后,记得点一下“在看”和“赞”。

pyd 之殇

之前发布的这三篇爬虫系列

2021 新版微博话题爬虫发布

2021 新版微博评论及其子评论爬虫发布

2021 微博最新转发爬虫发布

发布的爬虫文件都是 pyd 格式,只能运行在 windows 系统上,Mac OS 和 Linux OS 则无能为力?

pyc 才是 YYDS

今天研究了下,发现只要转 pyd 为 pyc 格式,就能跨平台运行了。但为什么 pyc 就可以跨平台!不由得感概相见恨晚,pyc 才是 yyds 啊!


预警,下面两段话是将 pyd 和 pyc 原理的,解释为什么 pyc 能跨平台,不感兴趣的同志可以跳过~



我们知道 windows 系统有许多 DLL 后缀的文件,即动态链接库,在运行时链接到调用程序。在运行时链接到 DLL 之类的库的主要优点是,它可以促进代码重用,模块化体系结构和更快的程序启动。结果,DLL 在 Windows 操作系统周围提供了许多功能。pyd 这个 d 就是取自于 DLL,只能运行在 windows 系统上

而我们安装的 python 目录下有许多 pyc 文件,这个 c 是编译 compile 过的意思,可以使用 python 解释器编译 py 文件 成 pyc 字节码文件。使用 pyc 可以加快程序的加载速度,而不能加快程序的实际执行速度,这就是解释为什么我们安装 python 目录很多第三方库下是 pyc 文件的原因,因为它可以使得 import 一些第三方库的速度加快。由于 .pyc 文件是编译好的字节码,它是独立于平台的,因此可以在不同体系结构的计算机之间共享

使用下面一行命令就能将当前目录下的所有 py 文件打成 pyc

python -m compileall ./

注意了

好了,理论不多说,只需要打开对应的百度云链接获取最新的 pyc 文件即可,最好删除了原来的 pyd 使用

需要注意的是 pyc 文件放到 Pycharm 中并不会显示它的存在?,但是确实实在存在于我们的文件夹之中的

Pycharm 中文件目录


文件浏览器中文件目录

这是为什么呢?我猜测是 Pycharm 把 pyc exclude 排除显示了,上图 Pycharm 的 External Libraries 就是我们的 python 解析器,它有许许多多 pyc,如果全部显示。那么 index 索引将会非常大,严重会导致电脑卡死。

还有一点需要注意的是,由于 pyc 是由特定的 python 解析器生成的,它虽然能跨平台,但是不能跨版本,也只能运行在特定的 Python 版本上上文百度链接里的 pyc 全部是 Python 3.6.6 64 bit 生成的,它也只能运行在 Win/Mac/Linux 等任意系统的 Python 3.6.6 64 位。如果 Python 版本不对,它会报 ImportError: bad magic number 错误。

题外话

好了,今天就讲到这里,上一篇开放 py 源代码的微博超话爬虫 【开源】微博超话相册下载及超话活跃粉丝抓取 也不要错过了,豆瓣小组爬虫已经完成了,此文越多点赞越早发出来,thanks for your attention!!!

浏览 80
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报