最近寫圖片爬蟲的時候遇到一點問題,記錄一下。
場景
在用爬蟲獲取網站圖片鏈接時得到的應該是這樣的鏈接:
https://foter.com/photos/395/garden-gardening-blooming.jpg?s=l
但是在爬取過程中卻發現網址部分符號被轉義
https://foter.com\"/photos\/395\/garden-gardening-blooming.jpg?s=l\"
由於獲取網址是通過拼接得到的
imgurl = all_a[i].attrs["src"]
imgurl = "https://foter.com"+unquote(imgurl)
導致後面的鏈接拼接時符號被轉義
解決辦法
用python的replace函數
str.replace(old, new[, max])
old -- 將被替換的子字符串。
new -- 新字符串,用於替換old子字符串。
max -- 可選字符串, 替換不超過 max 次
將鏈接中的轉義字符替換掉
imgurl = imgurl.replace('\"','')
imgurl = imgurl.replace('\"/','')
imgurl = imgurl.replace('\/','/')
imgurl = imgurl.replace('\/','/')
imgurl = imgurl[:-1]
得到正確網址
https://foter.com/photos/398/decore-flowered-flowers.jpg?s=l
https://foter.com/photos/398/flora-flower-bouquet.jpg?s=l
https://foter.com/photos/398/flower-bird.jpg?s=l
https://foter.com/photos/398/flower-flower-flowers-flowers-flowered.jpg?s=l
https://foter.com/photos/398/fujifilm-magazine-flower.jpg?s=l
https://foter.com/photos/398/closed-flower-plant-flower-red.jpg?s=l
問題解決