Python如何从DataFrame的URL列提取纯域名并生成新列?
实现方法
方案1:使用Python内置urllib库实现(推荐入门使用)
不需要安装第三方依赖,逻辑清晰易理解,完整代码如下:
import pandas as pd from urllib.parse import urlparse concu = pd.read_csv(r'/Desktop/Concu.csv') df = pd.DataFrame(concu, columns= ['URL']) def extract_domain(url): # 解析URL,自动剥离HTTP/HTTPS协议、路径、参数等内容 domain_part = urlparse(url).netloc # 移除www前缀 return domain_part.removeprefix('www.') # 新增Domain列存储提取结果 df['Domain'] = df['URL'].apply(extract_domain) print(df)
你给出的示例URL运行后,提取结果分别为smartkeyword.io、primelis.com,完全符合要求。
方案2:正则表达式一行实现
如果偏好简洁写法,可以直接用pandas的str.extract方法配合正则实现:
import pandas as pd concu = pd.read_csv(r'/Desktop/Concu.csv') df = pd.DataFrame(concu, columns= ['URL']) df['Domain'] = df['URL'].str.extract(r'^(?:https?://)?(?:www\.)?([^/]+)', expand=False) print(df)
运行效果和方案1完全一致。
内容的提问来源于stack exchange,提问作者LuchoSEO
相关产品推荐
相关产品推荐

