Finisky Garden

NLP, 软件工程, 产品设计

最近爬取几个页面总是失败,遇到如下错误:

# The HTTP request to the remote WebDriver server for URL http://localhost:xxx/ session timed out after 60 seconds.

后来发现原因是页面加载缓慢,debug发现页面其实已经在浏览器中成功渲染,只是还在等待一些后台javascript加载完毕,然后超时报错。

考虑到许多javascript都是广告、统计等一些附加内容,用selenium爬取页面时仅需要其中的html,无须等待所有javascript加载完毕。因此,想看看如何禁止ChromeDriver加载javascript,仅下载html。

搜了下"Selenium Disable JavaScript in ChromeDriver",发现了几种方案,最终用Page load strategy解决问题,小结一下各种方案的坑。

阅读全文 »

finisky博客 (https://finisky.azurewebsites.net) 本是搭在Azure App Service (WebApp),基于Hexo的静态页面博客在Azure App Service中使用IIS进行host。现在看起来没有太大必要host在Azure上,遂考虑迁移到GitHub Pages (https://finisky.github.io) 。

阅读全文 »

如果一个interface或abstract method的参数为基类形参,而有另一个类实现了该interface,但却使用了派生类形参,会发生什么?或者考虑另一种情况,一个interface或abstract method的返回值为基类对象,而它的实现返回的却是派生类对象,会发生什么?

这两个问题的答案是相同的,都是编译报错。想来有点费解,这不是违反SOLID原则中的里氏替换原则么?再仔细想想可以理解,此interface或abstract method的定义其实与实现它们的类本身是无关的,这些类对它的参数是否应为派生类的对象并不知晓。

阅读全文 »

2023-01-30 更新: NexT主题已经支持相关文章功能 (使用hexo-related-posts ),更新到最新版本即可,可参考这里


Hexo的NexT主题展示相关文章和热门文章使用 hexo-related-popular-posts 插件,但hexo-related-popular-posts 默认展示位置是在页面底部,而页面底部本身内容较多,多数人注意不到相关文章。因此,考虑将相关文章展示在侧边栏。

初始想法是将相关文章新建一个与目录块平齐的相关文章块,随着页面的滚动,目录吸附在页面顶部,相关文章块展示在目录块下方。无奈前端了解不多,试了下觉得难度系数略高。取了个折衷方案,将相关文章与目录显示在同一div中。

阅读全文 »

大概五、六年前看过一个很逗的开封话图解趣谈,形象生动。文章结合了北宋时期包公日常对话的题材,很是风趣幽默。 今日与友人谈起想找下原贴发现找不到了,搜到的几个贴子中链接大多已失效。有趣的内容不可负也,这里转载备份一份以飨众人~


北宋时期,天下以说开封话为荣,就像现在的普通话。提起开封,人人皆知开封府和铁面无私的黑老包。

喷阔儿喷阔儿

【释】 指“闲聊”“侃大山”等;词语本身作为中性,但用在否定句时,常含贬义。 【例】王朝:你说这新来咧知府咋怎黑咧! 马汉:新来了个知府?!咦,我咋不着咧?! 赵虎:喏,刚跑过去那不是。 马汉:咦,豆是,真黑!怪不得不着咧,前儿个俺都是值夜班咧! 张龙:嫩几个白搁这喷阔儿了!小昭叫打了,快去瞅瞅!!

阅读全文 »

今天先聊聊static方法的那些事儿,然后再引出static使用的“极致” util/helper类,说说它们的问题。

阅读全文 »

事情源起于心血来潮把Hexo从v3.9.0升级到了v4.0.0,Hexo本身的升级倒是不难,它由npm管理,改下package.json,运行npm update即可。但之后发现在archives的分页显示有问题……

阅读全文 »

计算机圈中有些常见被中国人读错的单词,现列举部分如下:

AJAX

/'eɪdʒæks/,不读阿假克斯。

ASCII

/'æski/,不读[ask]。

阅读全文 »
0%