-1

我正在使用 BeautifulSoup 抓取各种网页,但是对于相同的 URL,我经常得到不一致的结果。我相信这是因为我经常抓取同一个网页。如果我多次运行相同的命令,如何确保我得到的“汤”是一致的?有没有很好的方法来处理这个?

soup = BeautifulSoup(urllib2.urlopen(url))

if len(soup.find_all("var","model")) == 0:
   print "test"  # Inconsistent for the same URL if run several times in a row 

编辑:循环这个:len(soup.find_all("var","model")),随着时间的推移以随机方式给我 2 个不同的结果(0 和 2)。这就是我所说的不一致的意思,你们有关于我可能会出错的提示吗?

4

2 回答 2

1

该页面不是真正静态的,或者存在导致页面仅部分加载到汤变量中的问题。在底部添加一行,显示加载到汤中的树的完整大小(不确定 len() 是否有效或足够)。这样您就可以知道原因是在源代码中,还是在 BeautifulSoup 代码中。

于 2012-10-12T08:20:50.737 回答
0

好吧,原来不是漂亮的汤,我已经多次获取相同的url并将html写出来,结果每次都有细微的差异。页面不是真正静态的

于 2012-10-12T12:27:48.983 回答