Python:HTMLParser如何处理子标签中的数据

时间:2017-07-09 14:19:47

标签: python html-parsing override

因此,在我感兴趣的URL的HTML文档中,我想要在每个页面上的信息不是由它周围的标签唯一定义的,而是通过之前的标签,它看起来像

#!/usr/bin/env python
import matplotlib.pyplot as plt
import numpy as np
import scipy.integrate as integrate
import scipy.special as sp
from scipy.special import jn


#x = np.arange(0.0, 10.0, 0.1)
U = np.linspace(0,10,1000)



#Delta = U**2
#Delta = U-4+8*integrate.quad(lambda x: sp.jv(1,x)/(x*(1.0+np.exp(U*x*0.5))), 0, 100)
Delta = U-4+8*integrate.quad(lambda x: jn(1,x)/(x*(1.0+np.exp(U*x*0.5))), 0.1, 1000)

plt.plot(U,Delta)

plt.xlabel('U')
plt.ylabel('$\Delta$')
plt.show()

在我的HTMLParser类中,我用这个

覆盖了handle_starttag方法
quadpack.error: Supplied function does not return a valid float

但它不起作用。为什么不将我的starttag设置为div =“unique”的div标签中的任何span标签,这通常是如何完成的?

1 个答案:

答案 0 :(得分:1)

通过执行以下操作来管理解决此问题:

def handle_starttag(self, tag, attrs):
        self.inLink = False
        if tag == 'div':
            for name, value in attrs:
                if name == 'class' and value == 'unique':
                    self.inLinkReady = True
        if tag == 'span':
            if self.inLinkReady:
                self.inLink = True
                self.lasttag = tag
                self.inLinkReady = False

:)