python爬虫爬取到的网址和文档带有多余的反斜杠的处理

在利用python爬取数据时,遇到了以下两个问题,爬取到的url以及文档带有多余的转义字符反斜杠
具体情况如下:

网址:'http:\\/\\/slide.fashion.sina.com.cn\\/s\\/slide_24_84625_138650.html', 'https:\\/\\/fashion.sina.com.cn\\/s\\/fo\\/2020-11-13\\/1051\\/doc-iiznctke1091604.shtml'
文档内容:
'\\u674e\\u5b87\\u6625\\u767b\\u300a\\u65f6\\u5c1aCOSMO\\u300b\\u5341\\u4e8c\\u6708\\u520a\\u5c01\\u9762 \\u6f14\\u7ece\\u51ac\\u65e5\\u590d\\u53e4\\u98ce'

一开始以为是自己爬虫的方法写的不对,再仔细检查后,发现是json文件本身做的处理,只是我利用chrome插件显示时,他对其进行了处理,显示的格式符合我们正常观看需求(被插件的便利蒙蔽了双眼hhh)
图是数据原生格式
插件处理后的格式
在确定错误原因后,针对其进行字符串的处理和改进;
对于网址的处理

pat2 = r'"url":"(.*?)",'
links = re.findall(pat2, res)
for i in range(len(links)):
    links[i]=links[i].replace('\\','')
    print(links[i])

处理后的效果图
对于文档的处理:
(本身是utf-8编码,多了反斜杠,所以我们进行如下的处理)

pat1 = r'"title":"(.*?)",'
titles = re.findall(pat1, res)
#print(titles)
for i in range(len(titles)):
     titles[i]=titles[i].replace('\\','\\')
     titles[i]=titles[i].encode('utf-8').decode('unicode_escape')
     print(titles[i])

处理后效果图
处理详解:

python3默认支持utf-8,因此对于\uXXXX这种格式的中文,可以直接转换,但经常爬虫抓取回来的中文是\uXXXX格式,因此需要进行转换

s1='\u70ed\u95e8\u94ed\u6587\u63a8\u8350'
print('s1=',s1)

s2='\\u70ed\\u95e8\\u94ed\\u6587\\u63a8\\u8350'
print('s2=',s2)

s3=s2.encode('utf-8').decode('unicode_escape')
print('s3=',s3)

s1= 热门铭文推荐
s2= \u70ed\u95e8\u94ed\u6587\u63a8\u8350
s3= 热门铭文推荐

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值