【发布时间】:2016-09-10 19:06:13
【问题描述】:
编辑:在我试图缩小我的问题范围时,我可能过于简单化了,这使得它更难回答。让我再尝试一次。假设字典是:
holder = {'key1':['headline1', 'body1'], 'key2':['headline2', 'body2']}
我希望将该字典输出到一个 csv 文件,该文件将在三列中表示该信息:键列、标题列和正文列。由于以下原因,尝试使用下面提到的答案失败。
希望这更清楚一点。
我正在抓取一些中文新闻网站并尝试将结果输出到 csv 文件中。抓取后,字典是结构化的:
uniqueID : [headlines, body]
每个故事。我正在尝试输出到最终显示为:
uniqueID1 / headlines1 / body1
uniqueID2 / headlines2 / body2
uniqueID3 / headlines3 / body3
每一个都在不同的列中(所以基本上三列的行数与我的故事一样多)。
我尝试使用来自this question 的解决方案,但是除了翻转 X 和 Y 轴(我知道如何修复)之外,它还将每个标题/故事中的每个字符分解为不同的条目并打破字符编码。因为我不知道如何解决这两个问题,所以我有点卡住了。
如果有帮助或相关,我会这样编码字符:
head_fixed = str(headline)
soup = BeautifulSoup(head_fixed, 'lxml')
good_output = soup.text.decode("unicode-escape").encode("utf-8")
当然,我也愿意接受我构建数据的方式是错误的建议。
感谢您的任何想法。
【问题讨论】:
-
您能否显示整个代码或至少一个stackoverflow.com/help/mcve。没有它,任何人都很难测试他们的解决方案,甚至真正理解您的问题。
-
我投票结束这个问题,因为问题太模糊了。
-
唯一 ID 来自哪里?您如何获得头条新闻与故事主体?你真的认为在你的 csv 文件中使用
/分隔符是个好主意吗?如果故事或正文中有那个字符怎么办? -
抱歉,显然过于简化了。我编辑了上面的问题,希望它更清楚一点。
标签: python python-2.7 csv dictionary web-scraping