在用Python爬京东数据的时候,如果通过URL访问搜索页面,表面上看到的是这样的:
但是用requests.get这串URL发现报错(如果“机器学习”是中文的话)
而且注意到在粘贴到jupyter notebook的时候已经帮我们自动转换成了URL格式,即https://search.jd.com/Search?keyword=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0&enc=utf-8&wq=%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0&pvid=97e18ec880d4426d863bd3337e6c1719
为了解决这个问题,需要调用Python的一个包 urllib.parse,使用方法:
import urllib.parse
#这里的search_name是任意中文
search_name=urllib.parse.quote(search_name.encode('utf-8'))
print(search_name)
>>'%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0'
另外网上也有URL编码和中文互转的工具,反正认得百分号两个十六进制数是URL编码就行
之前写大作业的时候遇到的,现在回来补上,然而发现好像requests不会报错了?不知道怎么回事,以防万一还是写上的好