语法错误:文件中以 'xd8'开头的非 UTF-8 代码



我使用波斯语网站爬网站,并使用我的python 3.4代码获取数据和文本。此时一切都很好

text = "['هواداران استقلال از نخستین ساعات صبح امروز راهی ورزشگاه آزادی شدند.', 'به گزارش کاپ، در شرایطی که بازی امروز استقلال و الاهلی امارات از ساعت 20:15 در ورزشگاه آزادی آغاز می شود، در فاصله کمتر از 8 ساعت تا شروع مسابقه، تعدادی از هواداران آبی پوش مقابل درب غربی آزادی جمع شده اند.', 'البته درهای ورزشگاه آزادی هنوز باز نشده و بلیت فروشی نیز صورت نگرفته است.', 'بلیت فروشی بازی امروز به صورت حضوری انجام می شود و به همین دلیل استقلالی ها مجبور هستند برای استقرار در جای بهتر، زودتر در ورزشگاه حاضر شوند.', 'همچنین تعدادی از لیدرهای استقلال نیز صبح روز xa0بازی در حال ترمیم و تکمیل طرح موزاییکی خود بودند که دیروز به دلیل طوفان تهران تعدادی از قطعات آن کنده شده بود.']نیوکاسل توانست به لیگ برتر انگلیس صعود کند.به گزارش کاپ، دوشنبه شب نیوکاسل توانست پرستون نورث اند را با نتیجه 4 بر یک شکست داده و به لیگ برتر انگلیس صعود کند.به این ترتیب رافائل بنیتز فصل بعد در لیگ برتر جزیره فعالیت خواهد کرد."
#print2file(title, text, 14)
#u = unicode(text, "utf-8")
print(text)

错误:

SyntaxError: Non-UTF-8 code starting with 'xd8' in file D:/Users/Documents/PyCharm/WEB/Crawler-04.py on line 74, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

代码

将此行放在您的代码的第一行中:

# This Python file uses the following encoding: utf-8

更多信息:www.python.org/dev/peps/pep-0263/#examples

将此行放在您的代码的第一行中:

# -*- coding: utf-8 -*-

最终解决了我的问题弓代码正确:

# # # # Import # # # #
from lxml import html
import requests
from time import sleep
import codecs
# # # #         # # # #
site    = "http://cup.ir/sport/latestarchive/0/page"
number  = 100
# # # #         # # # #
def crawl(starting_url):
    print("----- crawl -----")
    counter = 1
    page = 1
    start_page = requests.get(starting_url)
    tree = html.fromstring(start_page.text)
    #((page - 1) * counter) + counter )
    while ( (((page-1)*49) + counter) <= number ):
        if (counter >= 49 )&(counter % 49 ==0):
            #print("Error::No another link in page")
            page += 1
            link = starting_url + "/" + str(page)
            print(link)
            start_page = requests.get(link)
            tree = html.fromstring(start_page.text)
            print(tree)
            counter = 0
        link = "http://cup.ir" + tree.xpath('//li[@class ="clearfix"]/a/@href')[counter]
        get_news_from_link(link,(((page-1)*49) + counter))
        print((((page - 1) * 49) + counter), " :: ", link)
        sleep(0.75)
        counter += 1
def get_news_from_link(link,x):
    print("n-------- get news from link ----------n")
    page_link = requests.get(link)
    tree = html.fromstring(page_link.text)
    title = tree.xpath('//meta[@property="og:title"]/@content')[0]
    text = tree.xpath('//*/p/text()')[2:-2]
    print("Title: ",title)
    print("Text: ",text)
    print2file(title,text,x)

def print2file(title ,text ,counter):
    print("n-------- print 2 file ----------n")
    title = title + "n"
    name_file = "news" + str(counter).zfill(4) + ".txt"
    file = codecs.open(name_file, "w", "utf-8")
    file.write(''.join(title))
    file.write(''.join(text))
    file.close()
def main():
    print("----- START -----")
    print("----- main -----")
    print("site: ",site)
    print("number: ", number)
    crawl(site)
    print("----- END -----")
if __name__ == "__main__":
    main()

相关内容

最新更新