我需要从
HTML文件中提取数据.这些文件很可能是自动生成的.我已将其中一个文件的代码上传到Pastebin:
http://pastebin.com/9Nj2Edfv.这是到实际页面的链接:
http://eur-lex.europa.eu/Notice.do?checktexts=checkbox&val=60504%3Acs&pos=1&page=1&lang=en&pgs=10&nbl=1&list=60504%3Acs%2C&hwords=&action=GO&visu=%23texte
我需要提取的数据是在不同的标题下找到的.
这是我到目前为止
from BeautifulSoup import BeautifulSoup
ecj_data = open("data\ecj_1.html",'r').read()
soup = BeautifulSoup(ecj_data)
celex = soup.find('h1')
auth_lang = soup('ul', limit=14)[13].li
procedure = soup('ul', limit=20)[17].li
print "Celex number:", celex.renderContents(),
print "Authentic language:", auth_lang
print "Type of procedure:", procedure
我拥有本地存储的所有数据,这就是打开文件ecj_1.html的原因.
Celex号码和正宗语言的作品有些不错.
celex返回
"Celex number:
61977J0059"
auth_lang返回“Authentic language:< li> French< / li>”
我只需要h1标签的内容(不是最后的休息).
[另外,我需要auth_lang只返回“法语”,而不是< li> -tags.]
这不是问题了.我意识到我可以在“auth_lang”的末尾添加“.text”.
另一方面,程序返回:
Type of procedure:
Type of procedure:
Reference for a preliminary ruling
这是非常错误的,因为我只需要它返回“参考初步裁决”.
有什么办法可以实现这一点吗?
第二编辑:
我用celex = soup(‘h1’,limit = 2)[0]替换celex = soup.find(‘h1’),并将.text添加到打印celex.