【发布时间】:2018-11-29 14:54:45
【问题描述】:
我从网站上抓取数据,并使用一个变量来包含所有数据列表。
即
x = [a,d,d,d] [a,f,f,f] [a,f,g,r]
如何将它们放入如下列表中:
x = [[a,d,d,d],[a,f,f,f],[a,f,g,r]]
我使用的代码:
from urllib.request import urlopen
from bs4 import BeautifulSoup
import csv
url = "http://www.dicj.gov.mo/web/en/information/DadosEstat_mensal/2018/report_en.xml?id=5"
html = urlopen(url)
soup = BeautifulSoup(html, 'xml')
my_data = soup.find_all('RECORD')[0:]
for tds in my_data:
x = [i.get_text() for i in tds.find_all('DATA')]
print(x)
【问题讨论】:
-
顺便说一句,在您的代码中,
my_data = soup.find_all('RECORD')[0:]中的[0:]没有任何用途,因此您可以将其删除。它本质上意味着选择从第零个索引到列表末尾的所有列表元素。 -
@AbhinavSood 谢谢提醒!
-
@TimCastelijns 我以前读过这个问题,但当时我不明白。由于我是新来的,如果这个问题是重复的,我应该删除它吗?
-
@FramerB 您没有义务删除您的问题,特别是如果您没有发现链接的重复项有用。如果有足够多的其他人投票认为它是重复的,它将被自动标记为一个。
-
@khelwood 知道了!谢谢
标签: python web-scraping beautifulsoup lxml