同样的代码,现在出事了。

Traceback (most recent call last):
File "D:\Python\experiments\20210213.py", line 85, in 
ws['B1'] = get_titles[loop_excel].contents[0].strip()
TypeError: 'NoneType' object is not callable

第一步:

我将.strip()移除后的部分作了测试,

type是

所以是一个beautifulsoup的元素对象。NavigableString是bs4用来包装tag中的字符串的。

.strip()是不会出问题的。因为这只是为了去除前后的空格之类的。

而.contents属性是可以将tag的子节点以列表的形式输出,每一个Tag和Navigablestring都会被列出。NavigableString的长度就是以字符串长度来计算的,而Tag则是以tag数量来计算的。如一个a标签,长度就是1。

所以暂时查不出原因。

第二步:

与旧版的程序进行对比。字面上看不出来。运行后看看。

嗯,也是一样地,出现了这个情况。

但是之前明明不是这样的呀。网站也没有变化。

第三步:

去stackflow上问问吧。

这类问题很容易被判duplicate。因为万一重复的贴子太多,开发者将不容易搜索到适宜的内容,而且也将耗费回答者的心血。所以还是建议先多看看,但是我这个问题在既往的内容中找不到答案,我在想是不是我这个问题有点问题。

90分钟内只能发一次问题。所以要慎重。一些管理者(或称版主)可能没有弄明白就会将你的问题关掉。

唉,这一天,先写个未完待续吧。

第二日早晨续:

昨日一夜某深思良久,但未得结,迟迟睡下不表。待次日早起,上得两节英语课后,又伏案研究,在pycharm之debug中找到一昨日未曾注意之疑点:

为何这个loop_excel仅是40.

数到第41项内容,果然发现此内容与其他有所不同。再次说明问题:早晨人的脑袋还是清晰一些,不太容易陷入昨天的怪圈或说是牛角尖。所以说嘛,tomorrow is another day. 这是双关语。一般说的意思不是我现在想表达的意思。就好像YOLO一样。short for 'you only live once', 在正常语境下是值得推敲的,因为好多误导。

然后又到stackflow上写了另外一篇ask,如下: