使用Python的tldextract库提取URL/TLD遇格式问题求助
解决tldextract提取booking.com失败的问题
你遇到的问题是因为输入的字符串并非标准URL格式,tldextract无法自动识别出其中有效的booking.com部分。可以通过预处理字符串分离有效域名的方式解决,具体步骤如下:
- 先将输入字符串按双下划线
__分割,提取出前面的booking.com部分 - 再用tldextract处理这个分离出的有效域名
示例代码:
import tldextract raw_input = 'booking.com__booking.com_content_privacy.html?label=gen173nr-1FCAEoggI46AdIM1gEaLUBiAEBmAExuAEHyAEP2AEB6AEB-AECiAIBqAIDuALVsdeSBsACAdICJDBkZWExNDc4LWZ' # 分割字符串获取有效域名部分 valid_domain = raw_input.split('__')[0] # 提取域名和后缀 ext_result = tldextract.extract(valid_domain) # 拼接得到预期结果 print(f"{ext_result.domain}.{ext_result.suffix}") # 输出: booking.com
如果你的输入字符串格式多变,还可以通过正则匹配的方式提取包含有效顶级域名(如.com)的部分,比如用正则r'([a-zA-Z0-9-]+\.com)'匹配所有含.com的域名片段,再筛选出目标值。
内容的提问来源于stack exchange,提问作者ZA09
相关产品推荐
相关产品推荐

