Python爬虫:url中带字典列表参数的编码转换方法
平时见到的url参数都是key-value,一般vlaue都是字符串类型的
如果有幸和我一样遇到字典,列表等参数,那么就幸运了
python2代码
importjson fromurllibimporturlencode #1.直接将url编码 params={ "name":"Tom", "hobby":["ball","swimming"], "books":[{"name":"语文","pages":20}] } print(urlencode(params)) """ hobby=%5B%27ball%27%2C+%27swimming%27%5D& books=%5B%7B%27name%27%3A+%27%5Cxe8%5Cxaf%5Cxad%5Cxe6%5Cx96%5Cx87%27%2C+%27pages%27%3A+20%7D%5D& name=Tom """ #2.先用json序列化字典和列表参数 params={ "name":"Tom", "hobby":json.dumps(["ball","swimming"]), "books":json.dumps([{"name":"语文","pages":20}]) } print(urlencode(params)) """ hobby=%5B%22ball%22%2C+%22swimming%22%5D& books=%5B%7B%22name%22%3A+%22%5Cu8bed%5Cu6587%22%2C+%22pages%22%3A+20%7D%5D& name=Tom """
观察1和2序列化出来的url参数不是一样的,如果第一种方式的url不能正常访问,那么就用第二种