検索

ホームページ  >  に質問  >  本文

网页爬虫 - 关于python3.x 编写爬虫异常问题请各位大神帮忙!

这段代码一直出现异常,但只要把导入的库稍加更改在python2.x中运行是没有问题的,请问大神问题出在哪?
出现的异常也总变,小弟初学爬虫,请赐教!

import urllib.error
import  urllib.request
import urllib.parse
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=https://www.baidu.com/link HTTP/1.1'
data = {}
data['type']= 'AUTO'
data['i'] = 'I am fine !'
data['doctype'] = 'json'
data['xmlVersion'] = '1.8'
data['keyfrom'] = 'fanyi.web'
data['ue'] = 'UTF-8'
data['action'] = 'FY_BY_CLICKBUTTON'
data['typoResult'] = 'true'
head = {}
head['User-Agent']= 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0'  



try:
    data = urllib.parse.urlencode(data).encode('utf-8')
    req = urllib.request.Request(url,data,head)
    response = urllib.request.urlopen(req)
    html = response.read().decode('utf-8')
    print(html)
except urllib.error.HTTPError as e:
    print ('Error code : ',e.code)
except urllib.error.URLError as e:
    print ('The reason: ',e.reason)

昨天是这样的:

今天运行就这样了:

PHPzPHPz2785日前594

全員に返信(3)返信します

  • 迷茫

    迷茫2017-04-18 10:27:18

    URL の後の HTTP/1.1 を削除します。URL の後に追加するのはなぜですか? 。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 10:27:18

    Python3 ではデコードとエンコードは必要ありません。一部のモジュールの使用法は異なりますので、Python3 のドキュメントをご確認ください。

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 10:27:18

    返事
    0
  • キャンセル返事