ありがとう、ラフォニック
動作させるにはコードを少し変更する必要がありましたが、キックスタートに感謝します。このコードは機能しています:
import lxml.html
import lxml.etree
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
infile = opener.open('http://environmentalchemistry.com/yogi/periodic/W.html')
html = infile.read()
doc = lxml.html.document_fromstring(html)
result = doc.xpath("/html/body/div[2]/div[1]/div[1]/div[1]/ul[7]/li[8]")
print lxml.etree.tostring(result[0])
しかし、おそらくそれは最高のものではありません
ともかく。さまざまな要素のページの構造はまったく同じではないため、おそらく単純なstring.find()と通常の expersionだけを使用します。このような
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
infile = opener.open('http://environmentalchemistry.com/yogi/periodic/W.html')
page = infile.read()
i = page.find("Heat of Vaporization")
substr = page[i:i+50]
print substr
import re
non_decimal = re.compile(r'[^\d.]+')
print non_decimal.sub('', substr)