我试图通过过滤text
包含关键字的键来抓取 Facebook 页面"Pecahan setiap negeri (Kumulatif)
。
虽然一开始它可以工作,但现在我无法再次运行它。它向我展示了
if wanted in post.get("text", ""):
TypeError: argument of type 'NoneType' is not iterable
首先,我以为我被 Facebook 禁止了,因为我一遍又一遍地循环。但是当我在没有if wanted in post.get("text") :
它的情况下进行测试时工作正常,所以我认为这不是 Facebook 的错。
我该如何解决这个问题?为什么它首先起作用而不是现在起作用?
我的代码:
from facebook_scraper import get_posts
listposts = []
wanted = "Pecahan setiap negeri (Kumulatif)" # wanted post
for post in get_posts("myhealthkkm", pages=10):
if wanted in post.get("text") :
# print("Found", t)
listposts.append(post)
else:
pass
# print("Not found")
print(listposts)
for
循环需要运行一个可迭代对象,例如列表、字典range()
等。
get_posts("myhealthkkm", pages=10)
是传递给您唯一的for
循环的内容,因此此 FN 必须返回None
- 这是不可迭代的。
你可以试试:
[...]
post_list = get_posts("myhealthkkm", pages=10)
print(type(post_list), post_list[:50])
for post in post_list:
[...]
更新:由于get_posts()
can的输出,None
在for
-loop之外添加一个条件来只循环if post_list is not None:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句