我有一个问题,清理一些数据,我得到的刮谷歌新闻标题。
我有兴趣做一个干净的数据,从我从我从谷歌新闻标题,从美丽的汤库从一个名单上得到的几列。
我的名单是这样的,我把它叫做“日期”:
[<div class="slp"><span class="f">ESPN - 13 hours ago</span></div>, <div class="slp"><span class="f">ABS-CBN News - 13 hours ago</span></div>, <div class="slp"><span class="f">New York Times - 14 hours ago</span></div>, <div class="slp"><span class="f">MinnPost - 1 day ago</span></div>, <div class="slp"><span class="f">New York Times - 2 days ago</span></div>, <div class="slp"><span class="f">NME.com - 1 day ago</span></div>, <div class="slp"><span class="f">Wichita Eagle - 1 day ago</span></div>, <div class="slp"><span class="f">Jalopnik - 1 day ago</span></div>]有什么方法可以迭代这个列表并去掉div标记吗?我只想为清单上的每一个价值写上报纸日期。
我试着用漂亮汤的特性来做这件事,但没有取得多大的成功,我还试着把我的清单变成熊猫的数据,并使用df = df.replace('',“)之类的东西。
写循环之类的,但它们不起作用。
感谢您的阅读。
发布于 2017-11-11 02:56:32
尝试使用BeautifulSoup查找元素span,然后获得text,如下所示:
import bs4
date_lst = ["""<div class="slp"><span class="f">ESPN - 13 hours ago</span></div>""",
"""<div class="slp"><span class="f">ABS-CBN News - 13 hours ago</span></div>""",
"""<div class="slp"><span class="f">New York Times - 14 hours ago</span></div>""",
"""<div class="slp"><span class="f">MinnPost - 1 day ago</span></div>""",
"""<div class="slp"><span class="f">New York Times - 2 days ago</span></div>""",
"""<div class="slp"><span class="f">NME.com - 1 day ago</span></div>""",
"""<div class="slp"><span class="f">Wichita Eagle - 1 day ago</span></div>""",
"""<div class="slp"><span class="f">Jalopnik - 1 day ago</span></div>"""]
date_result = []
for d in date_lst:
soup = bs4.BeautifulSoup(d, "html.parser")
date_result.append(soup.find('span').text)
print(date_result)更新:基于您的更新,日期包含<div class="slp">元素,您可以直接循环查找span并获取text。
date_result = []
for d in dates:
date_result.append(d.find('span').text)date_result将是:
[u'ESPN - 13 hours ago',
u'ABS-CBN News - 13 hours ago',
u'New York Times - 14 hours ago',
u'MinnPost - 1 day ago',
u'New York Times - 2 days ago',
u'NME.com - 1 day ago',
u'Wichita Eagle - 1 day ago',
u'Jalopnik - 1 day ago']https://stackoverflow.com/questions/47233855
复制相似问题