鱼C论坛

 找回密码
 立即注册
查看: 1277|回复: 3

求助,爬虫 .quote 操作看不懂

[复制链接]
发表于 2019-8-13 13:16:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求助:在看一本书上的例子,标红那一句的操作看不懂,文档也没查到.quote的解释,故此来问
求解释一下这行操作的逻辑,format在这个没有填空的网址里起什么作用?urllib.request.quote()在这又起什么作用
感谢

import requests
import urllib
import time


url =
'https://touch.dujia.qunar.com/depCities.qunar'
strhtml = requests.get(url)
dep_dict = strhtml.json()
for dep_item in dep_dict['data']:
   
for dep in dep_dict['data'][dep_item]:
        
print(dep)

        url = 'https://touch.dujia.qunar.com/golfz/sight/arriveRecommend?dep=%E5%8C%97%E4%BA%AC&exclude=&extensionImg=255,175'.format(urllib.request.quote(dep))
        time.sleep(
1)
        strhtml = requests.get(url)
        arrive_dict = strhtml.json()
        
for arr_item in arrive_dict['data']:
            
for arr_item_1 in arr_item['subModules']:
               
for query in arr_item_1['items']:
                    
print(query['query'])
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-13 13:57:58 | 显示全部楼层
urllib.request.quote 函数类似于 Javascript 中的 encodeURI 函数,用于对 URL 字符串进行编码,例如空格 ' ' 被编码成 '%20'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-13 14:44:19 | 显示全部楼层
兄弟你代码错了
  1. url = 'https://touch.dujia.qunar.com/golfz/sight/arriveRecommend?dep={}&exclude=&extensionImg=255,175'.format(urllib.request.quote(dep))
复制代码

你字符串中要有{}啊
下面衔接是format的简单使用
https://www.cnblogs.com/lovejh/p/9201219.html
网址中有中文不能解析的,urllib.request.quote只是将中文解码一下
下面是url编码解析
https://blog.csdn.net/myli_binbin/article/details/84333565
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-17 15:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表