IndentationError: неожиданный отступ при парсинге веб-страниц с использованием Selenium и Python - PullRequest
0 голосов
/ 07 августа 2020

Я хочу получить идентификационный номер каждого совпадения и сохранить его в текстовом файле?

from selenium import webdriver
from bs4 import BeautifulSoup

url = "http://vip.win007.com/history/Odds_big.aspx?date=2020-8-1"
driver = webdriver.Chrome()
driver.get(url)
soup = BeautifulSoup(driver.page_source, 'html.parser')

container0 = soup.find_all("odds", {"match": "id"})
print container0

with open('c:/logs/kellyrate.txt','a') as kellyrate:
kellyrate.write(container0 + "\n")

После запуска скрипта:

>>>IndentationError: unexpected indent

Кто-нибудь может помочь мне решить проблема?

Ответы [ 2 ]

0 голосов
/ 07 августа 2020

Это сообщение об ошибке ...

IndentationError: unexpected indent

... подразумевает, что в вашем блоке кода были ошибки отступа.

Python Отступ

Отступ относится к пробелам в начале строки кода. Python использует отступ для обозначения блока кода.

Этот вариант использования

В вашей программе строка кода:

kellyrate.write(container0 + "\n")

действует как блок кода, который будет повторяться для каждой строки в c:/logs/kellyrate.txt. Таким образом, вам нужно отступ этой строки кода:

  • табуляция символ
  • пробел символов

Таким образом, ваш эффективный блок кода будет:

with open('c:/logs/kellyrate.txt','a') as kellyrate:
    kellyrate.write(container0 + "\n")
0 голосов
/ 07 августа 2020

В python вы должны правильно делать отступ в операторах после ':'. Измените

with open('c:/logs/kellyrate.txt','a') as kellyrate:
kellyrate.write(container0 + "\n")

на

with open('c:/logs/kellyrate.txt','a') as kellyrate:
    kellyrate.write(container0 + "\n")
...