当前位置: 首页 > 知识库问答 >
问题:

如何将十六进制格式的拉丁字母映射到python中对应的拉丁字母[副本]

狄彬彬
2023-03-14

我试着从网上提取数据。很少有拉丁文字母是以纯十六进制形式出现的。

对于例如:

https://www.zomato.com/ncr/café-mrp-connaught-place-new-delhi

这个链接将变成

https://www.zomato.com/ncr/caf%C3%A9-mrp-connaught-place-new-delhi

我怎么才能从这里得到拉丁字母。我想概括一下这一点,并对所有在我的数据帧中更改的拉丁字母都这样做。

i=1
main_page_url = r"https://www.zomato.com/ncr/connaught-place-delhi-restaurants"
chrome_path = r"C:\Users\HPO2KOR\Desktop\chromedriver.exe"
wd = webdriver.Chrome(chrome_path)
wd.get(main_page_url)
while(i<=2):
    rests = wd.find_elements_by_xpath('//a[@class="result-title hover_feedback zred bold ln24   fontsize0 "]')
    for rest in rests:
        df = df.append({'Rest Name' : rest.text,
                   'URL' : rest.get_attribute("href")}, ignore_index=True)
    nxt_pg = wd.find_element_by_xpath('//a[@class="paginator_item   next item"]')
    nxt_pg.click()
    wd.switch_to_window(wd.window_handles[0])
    i+=1
wd.close() 

共有1个答案

岳昊空
2023-03-14

您可以使用urllib.parse.unquote(s)/urllib.parse.quote(s)

这是我的代码条:

>>> urllib.parse.unquote("https://www.zomato.com/ncr/caf%C3%A9-mrp-connaught-place-new-delhi")
'https://www.zomato.com/ncr/café-mrp-connaught-place-new-delhi'

>>> urllib.parse.quote('https://www.zomato.com/ncr/café-mrp-connaught-place-new-delhi')
'https%3A//www.zomato.com/ncr/caf%C3%A9-mrp-connaught-place-new-delhi'
 类似资料:
  • 我得到字符串的十六进制值,如下所示: 此字符串的十六进制值为: 问题是,当我试图将这个值转换回ascii时,它不能很好地转换č,ř,。。并返回带有问号的小方框的符号,而不是这些符号。 我将十六进制转换为ascii的代码: 有人能帮我吗?

  • 问题内容: 我有一个树形结构,其中的关键字可能包含一些拉丁字符。我有一个遍历树上所有叶子并在特定条件下将每个关键字添加到列表的函数。 这是我将这些关键字添加到列表中的代码: 如果在这种情况下的关键字是,那么我的输出是: 看来打印功能可以正确显示拉丁字符,但是当我将其添加到列表中时,它就会被解码。 我该如何更改?我需要能够使用标准拉丁字符而不是它们的解码版本来打印列表。 问题答案: 您没有unico

  • 问题内容: 原始问题: 表结构: NULL, VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, INDEX ( ASC), INDEX ( ASC) ) ENGINE InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci; 样本数据: 我正在执行的查询: 预期成绩: 实际

  • 谷歌Web字体上的一些字体支持多个“字符集”。问题是,如果我使用的web字体只提供“拉丁”字形,用户将页面翻译成不支持字形的语言时,会清楚地注意到混乱的文本。 我希望我的网页字体支持最流行的语言在世界上除了英语,例如,西班牙语,德语,法语等。 出于这个目的,我想知道,“拉丁”和“拉丁扩展”到底是针对哪种语言的。 我想答案应该是这样的:

  • 问题内容: 我正在尝试从Timus在线法官那里解决这个问题。要解决此问题,您需要生成1 000 000个小写拉丁字母的序列,并在1秒内将其写入stdin。 使用C ++或Java很容易解决此问题。我在这里有python解决方案: 需要1.7秒: 结果是“超出时间限制”。因此,问题是“如何更快地做到这一点?” UPD1 :使用减少了16ms的时间。现在是1.740秒 UPD2: @Martijn P

  • 问题内容: 我想将整数数字格式化为十六进制字符串。 打印,但我希望它作为。我怎么做? 问题答案: 试试这个