我们在使用python进行url获取的过程中,也存在通过pythonurl地址进行数据获取的过程,这时候如果我们使用中文作为关键词,由于存在对于中文和空格等字符的加密规则,所以我们需要对他们进行解密操作,
在JS中存在decodeURI可以针对url中的中文进行操作,在python中我们可以使用urllib中的unquote方法进行操作。
实例:
通过下面一段代码进行数据获取时,结果如图:
for item in movies:
url = item[0]
title = item[1]
r = requests.get(url)
r.encoding = r.apparent_encoding
soup = BeautifulSoup(r.text, 'lxml')
director = soup.findAll('p')[0].a.get_text()
detail = soup.findAll('p')[0].a['href']
save_to_json(director, detail, title, url)
print director, title, detail
使用解密后的url进行输出,可以得到结果如下图:
for item in movies:
url = item[0]
title = item[1]
r = requests.get(url)
r.encoding = r.apparent_encoding
soup = BeautifulSoup(r.text, 'lxml')
director = soup.findAll('p')[0].a.get_text()
detail = soup.findAll('p')[0].a['href']
save_to_json(director, detail, title, url)
# 使用urllib.unquote()进行url中包含文字的解密
print director, title, urllib.unquote(detail)