Python中文网 - 问答频道, 解决您学习工作中的Python难题和BugPython常见问题
登录 新用户注册
如何将漂亮的soup输出数据保存到文本文件中?
这是密码
import urllib2 from bs4 import BeautifulSoup url = urllib2.urlopen("http://link").read() soup = BeautifulSoup(url) file = open("parseddata.txt", "wb") for line in soup.find_all('a', attrs={'class': 'book-title-link'}): print (line.get('href')) file.write(line.get('href')) file.flush() file.close()
2条回答
网友
1楼·
我只是这样做:
with open('./output/' + filename + '.html', 'w+') as f: f.write(temp.prettify("utf-8"))
temp是beauthulsoup使用的html。在
网友
2楼·
file.close应调用一次(在for循环之后):
import urllib2 from bs4 import BeautifulSoup url = urllib2.urlopen("http://link").read() soup = BeautifulSoup(url) file = open("parseddata.txt", "wb") for line in soup.find_all('a', attrs={'class': 'book-title-link'}): href = line.get('href') print href if href: file.write(href + '\n') file.close()
更新可以使用href=True来避免{}语句。除此之外,使用^{} statement,您不需要手动关闭file对象:
^{pr2}$