谢乾坤 | Kingname

给时光以生命。


  • 首页

  • 归档

  • 标签

  • 公众号

  • 关于我

小问题大隐患:如何正确设置 Python 项目的入口文件?

发表于 2021-02-18 | 分类于 Python | 评论数:

今天在公众号粉丝群里面,有一位同学提到了 Python 找不到模块的问题:

问题涉及到的代码结构和代码截图如下:

这个问题的解决方法非常简单,就是把start.py文件从bin文件夹移出来就好了。

但如果对这个问题进一步分析,可以看到更多问题。

阅读全文 »

在 Linux 服务器中创建假桌面运行模拟浏览器有头模式

发表于 2021-02-16 | 更新于 2021-02-18 | 分类于 爬虫 | 评论数:

经常使用 Selenium 或者 Puppeteer 的同学都知道,他们启动的 Chrome 浏览器分为有头模式和无头模式。在自己电脑上操作时,如果是有头模式,会弹出一个 Chrome 浏览器窗口,然后你能看到这个浏览器里面在自动操作。而无头模式则不会弹出任何窗口,只有进程。

别去送死了。Selenium 与 Puppeteer 能被网站探测的几十个特征这篇文章中,我们介绍了一个探测模拟浏览器特征的网站。通过他我们可以发现,在不做任何设置的情况下,Selenium 或者 Puppeteer 启动的浏览器有几十个特征能够被目标网站识别为爬虫。并且,无头模式的特征比有头模式的特征多得多。

阅读全文 »

奇技淫巧:在 ssh 里面把服务器的文本复制到本地电脑

发表于 2020-10-02 | 分类于 Python | 评论数:

使用 macOS 的同学,应该熟悉一个命令pbcopy,它可以在命令行中把一段内容写入到剪贴板,例如:

1
echo "kingname" | pbcopy

就能把字符串kingname复制到剪贴板里面。我们也可以使用这个方法把一个文件中的内容写入到剪贴板:

1
cat xxx.txt | pbcopy

这样我们就不需要把文件打开再手动复制的。

有时候,我要把服务器上面的日志复制下来。原来都是进入服务器以后,用 vim 打开日志文件,用鼠标选中再复制。且不说服务器是 Linux,没有pbcopy这个命令,即使有这个命令,服务器上又怎么能访问本地的剪贴板呢?

阅读全文 »

手把手教学,如何解决 git 冲突?

发表于 2020-09-13 | 更新于 2020-09-14 | 分类于 Git | 评论数:

Git 是现在使用最广泛的源代码管理程序。一个合格的程序员必须要熟练掌握 Git。在使用 Git 的时候,最让人头疼的问题是什么?肯定是解冲突了。如果两个人修改了同一个文件的相同位置,那么当一个人提交代码并合并到主分支以后,第二个人尝试合并时就会触发冲突。大多数情况下,Git 自己知道如何把两份代码合并起来。但有时候当 Git 不知道应该怎么合并,就会提示你需要手动解决冲突。

我以前学习 Git 的时候,由于没有人跟我一起提交代码,所以我为了模拟两人提交的情况,会把代码 clone 到两个文件夹里面,然后把相同的位置分别做不同的修改,再分别提交。过程非常繁琐。

阅读全文 »

现场打脸:如何使用Selenium批量上传文件?

发表于 2020-09-09 | 分类于 Python | 评论数:

我们知道,Selenium里面,当我们获得一个 element 对象的时候,如果它是一个输入框,那么我们可以使用.send_keys()方法,模拟键盘按键,发送特定的字符串到输入框中,例如:

1
2
input_box = driver.find_element_by_xpath('//input[@class="xxx"]')
input_box.send_keys('账号 xxx')
阅读全文 »

一日一技:实现有过期时间的LRU缓存

发表于 2020-03-23 | 分类于 Python | 评论数:

在一日一技:实现函数调用结果的 LRU 缓存一文中,我们提到Python自带的LRU缓存lru_cache。通过这个装饰器可以非常轻松地实现缓存。

阅读全文 »

拒绝想当然,不看文档导致GNE 的隐秘 bug

发表于 2020-03-23 | 分类于 GNE | 评论数:

GNE上线4天,已经有很多朋友通过它来编写自己的新闻类网页通用爬虫。

阅读全文 »

一日一技:应该传入对象还是在用的时候再初始化?

发表于 2020-03-23 | 分类于 Python | 评论数:

在写 Python 代码的时候,大家可能会在不知不觉中使用一些设计范式。我们来看两个例子。

阅读全文 »

一日一技:使用二分法排查正则表达式的异常

发表于 2020-03-23 | 分类于 Python | 评论数:

现在我有10亿条微博正文,并从同事手上拿到了15000条需要过滤的垃圾信息正则表达式,只要微博正文符合任何一条正则表达式,就删除这条微博。

阅读全文 »

你经常看到却经常忽视的__init__.py有什么用?

发表于 2020-03-23 | 分类于 Python | 评论数:

Python 初学者在阅读一些 Python 开源项目时,常常会看到一个叫做__init__.py的文件。下图为著名的第三方库requests的源代码:

那么__init__.py有什么用呢?本文介绍它的两个用途。

阅读全文 »
12…13

谢乾坤 | Kingname

高级数据挖掘工程师,《Python 爬虫开发 从入门到实战》、《左手 MongoDB 右手 Redis——从入门到商业实战》作者。 微软最有价值专家 MVP,Python, Scrapy, MongoDB, Redis, Pandas, Golang。

130 日志
30 分类
108 标签
RSS
GitHub E-Mail
Links
  • 创造狮
  • 董沅鑫的个人网站
  • 韦世东的技术日志
© 2021 谢乾坤 | Kingname
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Muse v6.7.0