PYTHON无法换行问题,求指点

李复唐 发布于 2018/01/24 11:30
阅读 762
收藏 0

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学习小组,有兴趣的请下联系方式。

加载中
0
wei2011
wei2011

你是在widnows下运行的吧。因为windows下的换行符不是\n,而是\r\n,所以像你这样写文本文件,文件的打开方式最好是的'w'打开,而不是'wb','w'是以文本文件方式写,会帮你处理换行问题

李复唐
谢谢老铁
返回顶部
顶部