如何解决这个错误? - 'charmap'编解码器无法编码位置158023中的字符'\ u200e':字符映射到<undefined>

时间:2018-01-10 20:40:00

标签: python urllib

我正在使用python 3.6.3 我正在运行的代码是 -

import re
import urllib.request
#https://www.google.com/finance?q=
url="http://www.google.com/finance?q="
stock=input("Enter the stock you want to search=")
url1=url+stock
print(url1)
try:
    headers={}
    headers['User-Agent']="Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
    AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 
    Safari/537.36"
    req=urllib.request.Request(url1,headers=headers)
    resp=urllib.request.urlopen(req)
    respdata=resp.read()
    respdata1=respdata.decode("utf-8")
    f=open("webdata.txt","w")
    f.write(str(respdata1))
    f.close()
except Exception as e:
    print(str(e))

此程序显示任何公司的当前股票价格。

1 个答案:

答案 0 :(得分:0)

当我尝试你的程序时,我没有得到你得到的实际错误。相反,我得到SyntaxError: EOL while scanning string literal。修改代码后,它似乎正在工作。这是更新后的代码:

import re
import urllib.request

url = "http://www.google.com/finance?q="
stock = input("Enter the stock you want to search=")
url1 = url + stock
print(url1)

try:
    req = urllib.request.Request(url1)
    req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)')
    req.add_header('User-Agent', 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132')
    req.add_header('User-Agent', 'Safari/537.36')
    resp = urllib.request.urlopen(req)
    respdata = resp.read()
    respdata1 = respdata.decode("utf-8")
    f = open("webdata.txt", "w")
    f.write(str(respdata1))
    f.close()
except Exception as e:
    print(str(e))

当我运行此代码时,它创建了webdata.txt。但是,内容不包含公司的股票价格。相反,它包含您在对公司进行Google搜索时获得的输出。因此,您可能希望修改用于查询的URL。