【发布时间】:2016-08-08 10:06:07
【问题描述】:
我想解析网站上的 Afk.、Aantal 和 Zetels 列:http://www.nlverkiezingen.com/TK2012.html,我最终可以将其保存为 JSON 文件。
在将其保存为 json 文件之前,我需要解析元素。
我有
from bs4 import BeautifulSoup
import urllib
jaren = [str("2010"), str("2012")]
for Jaargetal in jaren:
r = urllib.urlopen("http://www.nlverkiezingen.com/TK" + Jaargetal +".html").read()
soup = BeautifulSoup(r, "html.parser")
tables = soup.find_all("table")
for table in tables:
header = soup.find_all("h1")[0].getText()
print header
trs = table.find_all("tr")[0].getText()
print '\n'
for tr in table.find_all("tr"):
print "|".join([x.get_text().replace('\n','') for x in tr.find_all('td')])
我试过了
from bs4 import BeautifulSoup
import urllib
jaren = [str("2010"), str("2012")]
for Jaargetal in jaren:
r = urllib.urlopen("http://www.nlverkiezingen.com/TK" + Jaargetal +".html").read()
soup = BeautifulSoup(r, "html.parser")
tables = soup.find_all("table")
for table in tables:
header = soup.find_all("h1")[0].getText()
print header
for tr in table.find_all("tr"):
firstTd = tr.find("td")
if firstTd and firstTd.has_attr("class") and "l" in firstTd['class']:
tds = tr.find_all("td")
for tr in table.find_all("tr"):
print "|".join([x.get_text().replace('\n','') for x in tr.find_all('td')])
break
我做错了什么或者我必须做什么,我在正确的轨道上吗?
【问题讨论】:
-
您能指出现有代码到底有什么问题吗?谢谢。
-
@alecxe 在第一个代码中,它打印所有行:Partij|Afk.|Aantal|%|+/-|Zetels 我想让代码只打印行:Afk。 Aantal 和 Zetels。
标签: python html json beautifulsoup bs4