[Py2.7] Парсинг сайта с экспортом конкретной таблицы в Excel-файл - Python

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. В университете мне дали 2 задания по парсингу: сайта и документа Word. Про парсинг сайта на Python я смотрела видео на Youtube. Конечно, автор работал в третьей версии. Я наклепала код на Python 2.7 (с которым мы работали на парах), который по моему мнению, должен был работать, но он не хочет)) Задача состоит в том, чтобы

извлечь данные из таблицы на сайте (курсы валют с указанием валюты и самого курса) и записать их в таблицу Excel

В видео автор показал, как сделать экспорт в csv файл. Но потом мне нужно проводить расчеты с курсами валют, поэтому нужен Excel. Изначально писала в Sublime Text3, не запустился. Открыла в файл в обычном блокноте без наворотов, компилятор прицепился к строке, взятой в " ". Фактически проверить, как работает программа не могу. Прошу Вашей помощи.

Код:

Листинг программы
  1. import csv
  2. import urllib.request
  3. from bs4 import BeautifulSoup
  4. base_url="http://www.cbpmr.net/"
  5. def get_html(url):
  6. response=urllib.request.urlopen(url)
  7. return response.read()
  8. def parse(html):
  9. soup=BeautifulSoup(html) # Применение модуля для структурирования кода HTML
  10. table=soup.find('table', class_='simple-little-table') #нахождение таблицы с курсами валют
  11. projects=[]
  12. for row in table.find_all('tr'): #поиск тегов, отвечающих за курсы валют
  13. cols=row.find_all('td')
  14. projects.append({"Valuta":cols[1].h12.text,"course":cols[2].text}) # создание словаря
  15. return projects
  16.  
  17. def save(projects,path):
  18. with open(path,"w") as csvfile:
  19. writer=csv.writer(csvfile)
  20. writer.writerow("Exchange", "Course")
  21. for project in projects:
  22. writer.writerow(project["exchange"],project["course"])
  23. def main():
  24. parse (get_html(base_url))
  25.  
  26. save(projects,"projects.csv")
  27. if __name__='__name__':
  28. main()

Ошибка:

File "C:\Python27\parsing.py", line 45 if __name__='__name__': ^ IndentationError: unexpected indent [Finished in 0.1s with exit code 1] [cmd: ['C:\\Python27\\python.exe', '-u', 'C:\\Python27\\parsing.py']] [dir: C:\Python27] [path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Skype\Phone\;C:\Users\M_&_M\AppData\Local\Programs\Python\Python36-32;C:\Python27] И цепляется он именно к этой строке. Не знаю почему. Запускала в Sublime Text3. Если нужно, прикреплю скрин.

Решение задачи: «[Py2.7] Парсинг сайта с экспортом конкретной таблицы в Excel-файл»

textual
Листинг программы
  1. writer.writerow(["Exchange", "Course"])

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут