我有一个基本的Python脚本,可以将输出存储到文件中。这个文件很难解析。 有没有其他方法可以将刮取的数据写入一个文件,这样就可以很容易地读入Python进行分析了?在
import requests
from bs4 import BeautifulSoup as BS
import json
data='C:/test.json'
url="http://sfbay.craigslist.org/search/sby/sss?sort=rel&query=baby"
r=requests.get(url)
soup=BS(r.content)
links=soup.find_all("p")
#print soup.prettify()
for link in links:
connections=link.text
f=open(data,'a')
f.write(json.dumps(connections,indent=1))
f.close()
输出文件包含: “$25 9月5日瓷器小鹿$25(森尼维尔)pic家居用品-由业主提供”“$7500 9月5日乔治·斯特克婴儿大钢琴$7500(摩根山)地图乐器-by”
5a.将列表内容写入到一个文件中,该格式可供以后使用(XML、逗号分隔等)
或者
5b.按照上面的Mike Ounsworth的建议对对象进行Pickle。在
如果您还不熟悉XML解析,只需为每个链接写一行,并用一个字符分隔所需字段,以便以后拆分。e、 g.:
当您想重新访问这些数据时,从文件中逐行获取它并使用split进行解析。在
^{pr2}$听起来你的问题更多的是如何解析从craigslist获取的数据,而不是如何处理文件。一种方法是获取每个
<p>
元素并用空格标记字符串。例如,将字符串标记化可以使用
split
完成:L现在是一个包含值的列表
^{pr2}$从这里,您可以尝试根据列表元素出现的顺序来确定它们的含义。
L[0]
可能总是持有价格,L[1]
月,L[2]
月日,等等。如果您对将这些值写入文件并在以后再次解析感兴趣,请考虑阅读csv module。在如果您想将它从python写入一个文件,然后再读回python,可以使用Pickle-Pickle Tutorial。在
Pickle文件是二进制的,不可读,如果这对您很重要,那么您可以看看yaml,我承认它有一点学习曲线,但可以生成格式良好的文件。在
相关问题 更多 >
编程相关推荐