
Python爬虫CSV写入URL反斜杠问题详解及解决方案
在使用Python爬取网页数据并将其写入CSV文件时,URL路径中的反斜杠常常导致显示异常。本文将通过一个案例分析并解决此问题。
问题:爬取的图片URL写入CSV后,出现多余的反斜杠“\”,例如“http:\\//...”而非预期的“http://...”
原因:代码中对URL路径的处理方式错误。img.get_attribute('bimg').replace('/', r'\\/')试图将所有斜杠“/”替换为转义斜杠“\”,但Python中反斜杠本身就是转义字符,需要进行二次转义。
立即学习“Python免费学习笔记(深入)”;
解决方案:采用以下两种方法之一正确处理反斜杠:
-
使用
'\\\\/':四个反斜杠表示一个转义后的反斜杠。 -
使用原始字符串
r'\/':r开头的字符串表示原始字符串,其中的反斜杠不会被解释为转义字符,直接表示字面含义。
改进后的代码示例:
import csv
# ... (其他代码) ...
slider_image = []
for v in slider_images:
img = v.find_element_by_css_selector('.tb-pic img')
slider_image.append(img.get_attribute('bimg').replace('/', r'\/')) # 使用原始字符串
# ... (其他代码) ...
with open('output.csv', 'w', newline='', encoding='utf-8') as csvfile:
writer = csv.writer(csvfile)
# ... (写入数据) ...
注意:读取CSV文件时,Python会自动将\/解释为/,无需再次进行替换。 通过以上修改,可以确保URL路径在CSV文件中正确显示,避免数据写入错误。










