Python解析器工作,但在我的上一个结果上得到索引超出范围错误而无法将列表保存到文件

时间:2017-02-20 02:15:29

标签: python parsing scraper

我写了一个Python脚本来解析当地场地的节目信息,在我的主屏幕上显示更新的日程。

所有打印出来都没问题,但我得到一个字符串索引超出范围错误我认为是最后的结果。

代码如下。我很感激有任何帮助来解释这个特定的错误。

import urllib.request
import bs4 as bs

#READ THE DESIRED URL
sauce = urllib.request.urlopen('http://www.coliseu.pt/agenda/').read()

#PARSE THE HTML
soup = bs.BeautifulSoup(sauce, 'lxml')

#RESULTS WILL HOLD THE INFORMATION PARSED
results = []

#FIND ALL DIVS WITH CLASS BL-BLOCK, GATHER ALL THE TEXT
#AND CHECK FOR THE APROPRIATE RETURNS TO AVOID DUPLICATE FIELDS
for div in soup.find_all('div', class_='bl-block'):
    row = [i.text for i in div]
    #FOR DEBUGGING
    print(row)
    if len(row) == 3 and row[2][0].isdigit():
        results.append(row)



#SAVE RESULTS TO FILE IF ANY ARE FOUND
if len(results) > 0:
    file = open('testfile.txt', 'w')
    for line in results:
        file.write(line + '\n')
    file.close()

我没有使用.txt文件写入方法,因为我无法解决此错误。

在@Vahid解决了上述问题之后,我现在在尝试将其保存到文件时出现编码错误。

当我使用列表时,无法将列表直接写入文件,任何将列表转换为字符串的尝试都会导致同样的错误。

无法找到将数据存入文件的方法。

//修订 找出问题所在。我无法将\ u0327字符编码为UTF-8,无法理解为什么。角色是“ç”。

尝试将其编码为UTF-8和ASCII,但没有成功。我很感激任何帮助。

0 个答案:

没有答案