python 爬虫 运行错误


import urllib.request
import urllib.parse


url='https://fanyi.baidu.com/v2transapi?from=en&to=zh'

headers={
    'Accept':' */*',
    #'Accept-Encoding':' gzip, deflate, br',
    # 'Accept-Language':' zh-CN,zh;q=0.9',
    # 'Acs-Token':' 1657782010421_1657801506947_yLm0Oevy/N/L9HsvZDArKaPvZyQg/SizSNOxNe6EbBT9ydDV8yXWjM8X74Gf/nSZlxvUm6qToOMITtjbQjPxssacjEAYNXSqtAjXeUitlpCWgytxL819kvJzsRK3Fzszen+U8G+U7wOK7zD/bU4gYDZu3Ugn4qQcXPdw7D8pvPfXL7eQDLIjjAoltclhdGs3lThBSDDeqiLBRwwLD9L4uUeiNRflE8h1o3PUCzkMxzMSMm6psMlZBtpL8m2s9H52M2b8TdCNFsCGXv696/SCPKhK6Me57MalJUlqWQhivMnCUYaIOzPdQN75T0DJo6LDM5NvUhPNP7AiDdwfZWpaFQ==',
    # 'Connection':' keep-alive',
    # 'Content-Length':' 135',
    # 'Content-Type':' application/x-www-form-urlencoded; charset=UTF-8',
    'Cookie: BIDUPSID=6858750299A18FAC02C41D82EDADDC08; PSTM=1617149921; __yjs_duid=1_138b8a07c622a506c34bbf0c945663f51619318478499; BAIDUID=E1A93F9376EF3203A628BE87F95433F7:FG=1; BAIDUID_BFESS=E1A93F9376EF3203A628BE87F95433F7:FG=1; ZFY=tssvZaK6e4KJyXzT6EhJXhyjJXazygNGupOnXNZ2FBU':'C; BA_HECTOR=21ah2ka1ak2k8k01al0gc50q1hctloj16; APPGUIDE_10_0_2=1; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; BDRCVFR[D2FIJh4TnDm]=mk3SLVN4HKm; delPer=0; PSINO=3; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1657722655,1657725083,1657727495,1657800087; H_PS_PSSID=36830_36552_36465_36726_36454_34813_36690_36166_36694_36698_36816_36569_36778_36774_36746_36763_36768_36766_26350_22157; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1657801487; ab_sr=1.0.1_YmI3YWFkNWI0YjgxODkwMjkwOTc4OGY2MzUyNGI5ODQ3ZTcxZWRmNDY1M2ZiZDI3ZGNmOWMwNGI5MTEwZjMxNzFhMTQ0MDlhOWZjNDg5YTI0MWZkM2VjMmNkM2JmZjRhNzQzMWVlZDcyNzg5MzIyNGMxNTg0N2MyNTU2NDM2ZTk3NzcwNWU5N2RkOTE4MGRmMTFiNTJlMmQ1NzcyMTJiMA==',
    # 'Host':' fanyi.baidu.com',
    # 'Origin: https':'//fanyi.baidu.com',
    # 'Referer: https':'//fanyi.baidu.com/?aldtype=16047',
    # 'User-Agent':' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
    # 'X-Requested-With':' XMLHttpRequest',
}

data={
    'from':' en',
    'to':' zh',
    'query':' love',
    'transtype':' realtime',
    'simple_means_flag':' 3',
    'sign':' 198772.518981',
    'token':' eff7d932b8054764b604a352385206b3',
    'domain':' common',
}
#post请求方式 必须进行编码 并且调用encode方法
data = urllib.parse.urlencode(data).encode('utf-8')
#请求对象的定制
request=urllib.request.Request(url=url,data=data,headers=headers)

#模拟浏览器发生请求
response=urllib.request.urlopen(request)
#获取响应的数据
contebt=response.read().decode('utf-8')
import json
obj=json.loads(contebt)
print(obj)

改正后代码:


import urllib.request
import urllib.parse

url = 'https://fanyi.baidu.com/v2transapi?from=en&to=zh'

headers = {
    'Accept': ' */*',
    # 'Accept-Encoding':' gzip, deflate, br',
    # 'Accept-Language':' zh-CN,zh;q=0.9',
    # 'Acs-Token':' 1657782010421_1657801506947_yLm0Oevy/N/L9HsvZDArKaPvZyQg/SizSNOxNe6EbBT9ydDV8yXWjM8X74Gf/nSZlxvUm6qToOMITtjbQjPxssacjEAYNXSqtAjXeUitlpCWgytxL819kvJzsRK3Fzszen+U8G+U7wOK7zD/bU4gYDZu3Ugn4qQcXPdw7D8pvPfXL7eQDLIjjAoltclhdGs3lThBSDDeqiLBRwwLD9L4uUeiNRflE8h1o3PUCzkMxzMSMm6psMlZBtpL8m2s9H52M2b8TdCNFsCGXv696/SCPKhK6Me57MalJUlqWQhivMnCUYaIOzPdQN75T0DJo6LDM5NvUhPNP7AiDdwfZWpaFQ==',
    # 'Connection':' keep-alive',
    # 'Content-Length':' 135',
    # 'Content-Type':' application/x-www-form-urlencoded; charset=UTF-8',
    'Cookie': 'BIDUPSID=6858750299A18FAC02C41D82EDADDC08; PSTM=1617149921; __yjs_duid=1_138b8a07c622a506c34bbf0c945663f51619318478499; BAIDUID=E1A93F9376EF3203A628BE87F95433F7:FG=1; BAIDUID_BFESS=E1A93F9376EF3203A628BE87F95433F7:FG=1; ZFY=tssvZaK6e4KJyXzT6EhJXhyjJXazygNGupOnXNZ2FBUC; BA_HECTOR=21ah2ka1ak2k8k01al0gc50q1hctloj16; APPGUIDE_10_0_2=1; REALTIME_TRANS_SWITCH=1; FANYI_WORD_SWITCH=1; HISTORY_SWITCH=1; SOUND_SPD_SWITCH=1; SOUND_PREFER_SWITCH=1; BDRCVFR[D2FIJh4TnDm]=mk3SLVN4HKm; delPer=0; PSINO=3; Hm_lvt_64ecd82404c51e03dc91cb9e8c025574=1657722655,1657725083,1657727495,1657800087; H_PS_PSSID=36830_36552_36465_36726_36454_34813_36690_36166_36694_36698_36816_36569_36778_36774_36746_36763_36768_36766_26350_22157; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; Hm_lpvt_64ecd82404c51e03dc91cb9e8c025574=1657801487; ab_sr=1.0.1_YmI3YWFkNWI0YjgxODkwMjkwOTc4OGY2MzUyNGI5ODQ3ZTcxZWRmNDY1M2ZiZDI3ZGNmOWMwNGI5MTEwZjMxNzFhMTQ0MDlhOWZjNDg5YTI0MWZkM2VjMmNkM2JmZjRhNzQzMWVlZDcyNzg5MzIyNGMxNTg0N2MyNTU2NDM2ZTk3NzcwNWU5N2RkOTE4MGRmMTFiNTJlMmQ1NzcyMTJiMA==',
    # 'Host':' fanyi.baidu.com',
    # 'Origin: https':'//fanyi.baidu.com',
    # 'Referer: https':'//fanyi.baidu.com/?aldtype=16047',
    # 'User-Agent':' Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
    # 'X-Requested-With':' XMLHttpRequest',
}

data = {
    'from': ' en',
    'to': ' zh',
    'query': ' love',
    'transtype': ' realtime',
    'simple_means_flag': ' 3',
    'sign': ' 198772.518981',
    'token': ' eff7d932b8054764b604a352385206b3',
    'domain': ' common',
}
# post请求方式 必须进行编码 并且调用encode方法
data = urllib.parse.urlencode(data).encode('utf-8')
# 请求对象的定制
request = urllib.request.Request(url=url, data=data, headers=headers)

# 模拟浏览器发生请求
response = urllib.request.urlopen(request)
# 获取响应的数据
contebt = response.read().decode('utf-8')
import json

obj = json.loads(contebt)
print(obj)

出错原因:
cookie格式问题,也就是你代码第16行

headers里面的值应该是键值对,不是字符串,应该 “Cookie”: “**************”

报错是啥?