【发布时间】:2015-08-08 20:19:11
【问题描述】:
import requests
from bs4 import BeautifulSoup
import csv
from urlparse import urljoin
import urllib2
base_url = 'http://www.baseball-reference.com/' # base url for concatenation
data = requests.get("http://www.baseball-reference.com/teams/BAL/2014-schedule-scores.shtml") #website for scraping
soup = BeautifulSoup(data.content)
b=5
for link in soup.find_all('a'):
if not link.has_attr('href'):
continue
if link.get_text() != 'boxscore':
continue
url = base_url + link['href']
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html)
# Scores
table = soup.find('table', attrs={'id': 'BaltimoreOriolespitching'})
for row in table.findAll('tr'):
list_of_cells = []
for cell in row.findAll('td'):
text = cell.text.replace(' ', '')
list_of_cells.append(text)
for list in list_of_cells:
with open('test1.csv', 'w', newline='') as fp:
a = csv.writer(fp, delimiter=',')
a.writerows(list)
我正在尝试将抓取的信息写入 csv,以便每条信息都有自己的单元格。我玩的代码越多,我要么得到一个缩进错误,要么第一行打印到一个 csv,就是这样。
IndentationError: 需要一个缩进块
【问题讨论】:
-
具体是什么错误?
-
IndentationError: 需要一个缩进块
-
您很可能遇到了空格错误。检查所有空格是否等于制表位(不推荐)或每个缩进级别是否完全匹配四个空格(推荐)
-
另外,如果继续出现缩进错误,请指出行号是什么。
标签: python csv web-scraping