背景:在写一个自动去射手网爬字幕的字幕搜索脚本
代码如下
import sys
import urllib2
import requests
import re
reload(sys)
sys.setdefaultencoding("utf-8")
def download(searchname):
header = {
'Host':'sub.makedie.me',
'Pragma':'no-cache',
'Referer':'http://sub.makedie.me/',
'Upgrade-Insecure-Requests':'1',
'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36'}
payload = {'searchword' : searchname}
url = 'http://sub.makedie.me/sub/'
s = requests.Session()
response = s.get(url,params=payload,headers=header)
if response.status_code == requests.codes.ok:
file = response.text
return file
file_temp = open('filetemp.txt','w')
file_temp.write(download(urllib2.quote("绿箭侠 第三季 第 13 集 /Arrow.S03E13.720p.HDTV.X264-DIMENSION.chn")))
出现问题:
raise InvalidURL("Invalid percent-escape sequence: '%s'" % h)
requests.exceptions.InvalidURL: Invalid percent-escape sequence: 'DI'
检查之后去掉绿箭侠 第三季 第 13 集 /Arrow.S03E13.720p.HDTV.X264-DIMENSION.chn中'DI'前面的-后报错消失.
求教产生这种错误的原因,或者有什么比较好的替代方法,新人第一次提问,有什么问题大家指出,虚心接受大家的批评~