错误处理美丽的汤

时间:2012-10-12 06:28:51

标签: python beautifulsoup

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

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)。这就是我不一致的意思,你们有关于我可能会误解的地方的提示吗?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

好吧,事实证明这不是美味的汤,我已经多次获取相同的网址并将html写出来,结果每次都有很小的差异。页面不是真正的静态