Форум сайта python.su
Доброго времени суток! Прошу дать совет:
Есть код:
import csv import urllib.request from bs4 import BeautifulSoup USER_URL = input('Введите ссылку: ') def get_html(url): response = urllib.request.urlopen(url) return response.read() def parse(html): soup = BeautifulSoup(html, 'html.parser') div = soup.find('div', class_='post') header = soup.find('h1', class_='entry-title') date = div.find('li', class_='publish-date') preview = soup.find('p', class_='post-preview-text') basetext = div.find('div', class_='entry-content detail-text') projects = [] projects.append({ 'header': header.text, 'date': date.text, 'preview': preview.text, 'basetext': basetext.text }) return projects def save(projects, path): with open(path, 'w') as csvfile: writer = csv.writer(csvfile) def main(): projects = [] print(parse(get_html(USER_URL))) save(projects, 'projects.csv') if __name__ == '__main__': main()
Отредактировано spacesnake (Дек. 22, 2016 05:32:20)
Офлайн
spacesnakecsv применяется для хранения табличных данных, разделитель нужен чтобы разделять данные внутри одной строки (т.е. записи). Если у вас разделителем будет \n, то вы получите все данные в разных строках, то есть вместо таблицы
записывала отпарсенное в csv-файл, используя разделитель \n.
London 3453445 True Paris 546666 True New-York 5842141 False
London 3453445 True Paris 546666 True
Офлайн
FishHookСпасибо за ответ. Тогда мне, наверно, нужно не это.
csv применяется для хранения табличных данных
Отредактировано spacesnake (Дек. 22, 2016 10:55:34)
Офлайн
spacesnake
Просто пишите в файл
https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
Офлайн
Спасибо большое
Офлайн