PYTHON无法换行问题,百思不得其解。fp.write(u'{a}\n'.format(a='\n'.join(a)))
改成fp.write(u'{a}\n'.format(a=','.join(a)))
“,”可以正常显示
下附源码,请指点一二
#!/usr/bin/env python
# encoding=utf-8
from bs4 import BeautifulSoup
import requests
import codecs
DOWNLOAD_URL = 'http://movie.douban.com/top250'
def download_page(url):
headers = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'
}
return requests.get(url,headers=headers).content
def parse_html(html):
soup=BeautifulSoup(html,'html.parser')
movie_list_soup=soup.find('ol',attrs={'class':'grid_view'})
movie_name_list=[]
for movie_li in movie_list_soup.find_all('li'):
detail=movie_li.find('div',attrs={'class':'hd'})
movie_name=detail.find('span',attrs={'class':'title'}).getText()
movie_name_list.append(movie_name)
next_page=soup.find('span',attrs={'class':'next'}).find('a')
if next_page:
return movie_name_list,DOWNLOAD_URL+next_page['href']
return movie_name_list,None
def main():
url=DOWNLOAD_URL
with codecs.open('a.txt','wb',encoding='utf-8')as fp:
while url:
html=download_page(url)
a,url=parse_html(html)
fp.write(u'{a}\n'.format(a='\n'.join(a)))
if __name__ == '__main__':
main()
另打算组成一个十人python学习小组,有兴趣的请下联系方式。