Python(Anaconda Spyder)土耳其字符问题

时间:2016-01-01 19:12:47

标签: python character anaconda spyder turkish

我对python 3.5土耳其语字符有疑问。

您可以在图片中看到问题。我该如何解决这个问题?

我的代码如下。你可以看到print(blink1.text)给出了问题的最后一行,但print("çÇğĞıİuÜoÖşŞ")没有问题,尽管它们都是相同的

    from bs4 import BeautifulSoup
import requests

r = requests.get("http://www.ensonhaber.com/son-dakika")
soup = BeautifulSoup(r.text)
for tag in soup.find_all("ul",attrs={"class":"ui-list"}):
    for link1 in tag.find_all('li'):
        for link2 in link1.find_all('a',href=True):
            print("www.ensonhaber.com" + link2['href'])
            print("\n")
            print(link2['title'])
        for link3 in link1.find_all('span',attrs={"class":"spot"}):
            # özet kısmı print(link3.text)
            print("\n")      
            rbodysite = "http://www.ensonhaber.com"+link2['href']
            rbody = requests.get(rbodysite)
            soupbody = BeautifulSoup(rbody.text)
            for btag in soupbody.find_all("article",attrs={"class":""}):
                for blink1 in btag.find_all("p"):
                    print(blink1.text)
                    print("çÇğĞıİuÜoÖşŞ")

我的输出:

Hangi Åehirde çekildiÄi bilinmeyen videoda bir çocuk, ailesiyle yolculuk yaparken gördüÄü trafik polisinin üÅüdüÄünü düÅünerek gözyaÅlarına boÄuldu. Trafik polisi, yanına gelen çocuÄu "Ben üÅümüyorum" diyerek teselli etti.
çÇğĞıİuÜoÖşŞ

python codes

character issue

1 个答案:

答案 0 :(得分:1)

问题肯定是错误的代码页。 Python与代码页无关,无论是print还是beautifulsoup都不会为你修复它。

该网站似乎以UTF-8提供所有页面,所以我认为您的终端是其他的东西。我不知道字符集有什么ı但是损坏字符的位置及其值表明Windows-1254。您需要调用iconv,但首先需要阅读元标记<meta charset=,因为它不一定是UTF-8。另一方面,您还需要了解终端的编码,但这很难获得。