首页 > 解决方案 > 如何以以下打印格式下载 CSV 文件中的以下抓取数据?

问题描述

我知道如何在 csv 文件中下载数据。我只想知道如何将打印数据附加到具有相同打印格式的数组中,然后我可以将其下载到 CSV 文件中

import re
import json
import requests

url = 'https://www.physiotherapyexercises.com/Js/Data/ExerciseData_English_2019_12_06_00_49_56.js'

data = json.loads(re.search(r'exerciseRecords=(.*?]);',
                        requests.get(url).text).group(1))

 # uncomment this to print all data:
 # print(json.dumps(data, indent=4))

for exercise in data:
  print(*exercise['Texts'], sep='\n')
  print('-' * 80)

标签: pythonweb-scrapingbeautifulsoup

解决方案


你可以试试这个,因为描述不清楚:

import re
import csv
import json
import requests

url = 'https://www.physiotherapyexercises.com/Js/Data/ExerciseData_English_2019_12_06_00_49_56.js'

data = json.loads(re.search(r'exerciseRecords=(.*?]);',
                        requests.get(url).text).group(1))


with open('names.csv', 'w', newline='') as csvfile:
    fieldnames = ['text', ]
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()

    for exercise in data:
      print(*exercise['Texts'], sep='\n')
      print('-' * 80)
      writer.writerow({'text': '\n'.join(exercise['Texts'])})

推荐阅读