Skip to content
JadeYang(杨琼璞) edited this page Dec 6, 2020 · 2 revisions

Play With Python

学习 Python & 实战练习,以便能更好的玩 Python 相关技能、工具。

对于学习编程,通常以学以致用的方式;这次对于 Python 的学习也不例外;具体做法是,从一个有趣抑或有用的点出发,先略做下具体策划,接着就编码实现,有不太熟悉的地方就网络检索,先完成,后优化。所以现在做出的一些实践,也是基于这个基调。

脚本

python scripts/find-break-urls.py your-specified-path

此脚本作用在于找出无法正常访问的 URL, 根据指定的路径地址(可以是本地文件、文件夹,或者在线网址)。具体就是遍历文件,找出所有 url,然后发起请求判断是否 break;对于指定的文件夹,则递归遍历;而指定的在线地址,则先爬取该网址所对应的源码,得出所有 a 标签的 href,再发起请求判断。这里需要说明下,如果是 SPA 应用不能很好地支持;如下示例,之所以带上 ?_escaped_fragment_ 能够得到源码,是因为该网站,在 nginx 层对过来的请求做了处理,返回经过预渲染的 html 。

python scripts/find-break-urls.py https://nicelinks.site/\?_escaped_fragment_

Excel

python excel/index.py

创建一个二维(多行多列)的 excel 表,并为单元格做些简单的设置。

爬虫

python spider/github-quickapp.py

爬取 Github 上关键字为快应用、且 Star 大于固定值的项目链接,并输出。

python spider/nicelinks-explore.py

爬取倾城之链所收录的网站链接,将第一页输入(网站地址 & 标题)。

Web 自动化

python automation/hacpai.com.py

自动登录至黑客派这个网站,领取登录奖励。实现这个得方法很多,这只是其中一种,利用 helium 库,这个跟 Chrome 提供的 puppeteer 类似,不过使用起来更为简单。不过,黑客派应该是屏蔽了无头访问模式,所以只能设定 headlessFalse

如要使用,可在项目根目录下,根据 config.example.yaml 形式,创建 config.yaml,填入你的账号和密码即可。当然,这种方式也可以用在其他各种网站,只不过有登录有安全校验的话,为略麻烦一点儿。

python automation/nicelinks.site.py

通过 helium 库,无头访问倾城之链,获取网站上某一部分内容(箴言锦语),并输出。

词云图

将文本内容置于 target.txt,可一键为其生成词云图;并且可以指定词云图形状(根据 style.jpg) ,具体命令如下:

python3 wordcloud/gen-wordcloud-img.py
Clone this wiki locally