Python 我的编码哪里错了?(出现字母“x95\x84\xeb\…”)
我的编码哪里错了?(字母“o”出现。)Python 我的编码哪里错了?(出现字母“x95\x84\xeb\…”),python,python-3.x,twitter,unicode,encoding,Python,Python 3.x,Twitter,Unicode,Encoding,我的编码哪里错了?(字母“o”出现。) Sys.setdefaultencoding('utf-8')此语句已被删除。 我使用的是python3 然后字母x95\x84\xeb\xb0\xb0\xea\xb3\xa0\xed\x8c\x8c'就这样出现了 我的编码哪里错了 我也觉得很难理解 346 seconds: 52.25020146369934 347 seconds: 52.694828271865845 348 seconds: 52.80767774581909 349 second
Sys.setdefaultencoding('utf-8')
此语句已被删除。
我使用的是python3
然后字母x95\x84\xeb\xb0\xb0\xea\xb3\xa0\xed\x8c\x8c'就这样出现了
我的编码哪里错了
我也觉得很难理解
346 seconds: 52.25020146369934
347 seconds: 52.694828271865845
348 seconds: 52.80767774581909
349 seconds: 52.92116045951843
这样一来,数据(tweets)就会出来。
这是什么意思
#py3.6
import time
from selenium import webdriver
import codecs
import sys
import importlib
importlib.reload (sys)
browser = webdriver.PhantomJS('C:\phantomjs-2.1.1-windows/bin/phantomjs')
url = u'https://twitter.com/search?f=tweets&vertical=default&q=%EB%B0%B0%EA%B3%A0%ED%8C%8C%20since%3A2017-07-19%20until%3A2017-07-20&l=ko&src=typd&lang=ko'
browser.get(url)
time.sleep(1)
body = browser.find_element_by_tag_name('body')
browser.execute_script("window.scrollTo(0,document.body.scrollHeight);")
start = time.time()
for _ in range(5000):
now = time.time()
browser.execute_script("window.scrollTo(0,document.body.scrollHeight);")
print (str(_) + " seconds: " + str(now - start))
time.sleep(0.1)
tweets=browser.find_elements_by_class_name('tweet-text')
with codecs.open("dlrjtdmstnrwp.txt", "w","utf-8") as f:
i = 1
for i, tweet in enumerate(tweets):
data = tweet.text
data = data.encode('utf-8')
print (i, ":", data)
msg = (str(data) +'\n')
f.write(msg)
i += 1
end = time.time()
print(end - start)
browser.quit()
这是对您问题的简化版本的回答 因为我不懂韩语,所以我用谷歌翻译。我打了“你好”,然后把它翻译成韩语。 然后我查看“inspect元素”以获得翻译结果。这就是我们得到的: 在您的案例中,使用selenium提取
span
元素相当于提取tweet文本
元素:
span = browser.find_element_by_class_name('short_text')
print(span.text)
这将给我们带来以下结果:
>>>안녕하세요
如您所见,不需要编码/解码,因为就我所知,在Python3.x
str=unicode
中,tweets的文本已经是unicode。据我所知,您希望将tweet写入一个文件,那么为什么要对数据进行编码呢?在那之后,为什么要使用str(data)
?不要触摸编码系统,codecs.open(“dlrjtdmstnrwp.txt”、“w”、“utf-8”)
读取字节和写入字节。重要的一点是“哪种编码系统传入?”,另一个想法是python3
是unicode
那么谁关心编码呢?@dsgdfg我搜索过。语言搜索结果除了用英语正确编写代码外,我还被要求这样写:((“57:b'\xeb\x84\xb9”当tweet出现时。)我如何更正和更正?编码的概念是缺乏的,我有trouble@nutmeg64这与上面的评论类似。我不能召集两个人,所以我会回信的。我正在导入语言除了英语。不是英语的互联网搜索结果是这样表达的。我仍然很难过,我不理解你的评论。这是因为编码的概念是不够的。您能解释一下吗?如果您的目标是将tweet写入一个文件,那么由于Python3默认处理unicode,您只需将其写入一个文件即可。它是哪种语言并不重要,假设它是作为unicode提供的。如果你的目标不同,那么请更具体一些。