## Python 中的反斜杠:为什么我的图像路径变成了 http:\\\\/\\\\/img1.zabao.cn\\\\/pimages?

## python 中的反斜杠:为什么我的图像路径变成了 http:\\\\/\\\\/img1.zabao.cn\\\\/pimages?

python 的特殊反斜杠问题解析

在编写 python 代码时,您可能会遇到反斜杠()处理上的奇怪现象。本文将解释这种现象并提供解决方案。

完整代码如下:

from csv import dictwriter, writer
import time

options = webdriver.chromeoptions()
options.add_experimental_option("excludeswitches", ['enable-automation', 'enable-logging'])
browser = webdriver.chrome(options=options)

def write_csv(url='http://www.alaibao.cn/productdetail-83.html'):
    browser.get(url)

    slider_images = browser.find_elements_by_css_selector('#j_ulthumb li:not(#j_videothumb)')
    slider_image = []
    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'\/'))
    image = slider_image[0].replace(r'\/', '/')

    with open('product.csv', 'a', newline='') as f:
        csv_writer = dictwriter(f, fieldnames=['store_name', 'store_info', 'price', 'cost', 'image', 'recommend_image', 'slider_image'])
        csv_writer.writeheader()
        csv_writer.writerow({'store_name': 'store', 'store_info': 'info', 'price': '10.9', 'cost': '5.5', 'image': image, 'recommend_image': image, 'slider_image': slider_image})

write_csv()

问题:

代码生成的图像路径类似于 http:\/\/img1.zabao.cn\/pimages,而不是预期的 http://img1.zabao.cn/pimages。

解决:

出现这种问题是因为 replace('/', '/') 的用法不正确。在 python 中,反斜杠用于转义特殊字符,因此为了转义反斜杠自身,需要使用原始字符串,即 r'/' 或者 '\/'。

修改后的代码如下:

slider_images = browser.find_elements_by_css_selector('#J_UlThumb li:not(#J_VideoThumb)')
slider_image = []
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'\/'))

image = slider_image[0].replace(r'\/', '/')

以上就是## Python 中的反斜杠:为什么我的图像路径变成了 http:\\\\/\\\\/img1.zabao.cn\\\\/pimages?的详细内容,更多请关注其它相关文章!