課程
/后端開發
/Python
/python正則表達式
如圖,listurl是空的列表,用的python3
2017-11-25
源自:python正則表達式 4-2
正在回答
我用的pycharm,今天才手寫的代碼,改了幾個小地方,都寫在注釋里面,樓主看看注意到沒有,謝謝。
import re
import urllib
req = urllib.request.urlopen('http://www.xianlaiwan.cn/course/list')
#此處加上decode(),不然拿下來的數據都是亂碼
buf = req.read().decode("utf-8")
#老師講課的url地址已經發生改變,改一下正則匹配就好
# listurl = re.findall(r'src=.+\.jpg', buf)
listurl = re.findall(r'//img.+?\.jpg', buf)
# 改成非貪婪模式就行了
#前面沒有了http:,那么這里手動加上
for index,app_id in enumerate(listurl):
? ? listurl[index] = str(app_id).replace('//', 'http://')
? ? print(index, listurl[index])
print(listurl)
i = 0
for url in listurl:
? ? #寫入模式修改為“wb+”,不然不支持將bytes寫入,親測
? ? f = open(str(i)+".jpg", "wb+")
? ? req = urllib.request.urlopen(url)
? ? buf = req.read()
? ? f.write(buf)
? ? i+=1
問題就是老師講課的時候圖片地址是你所寫的,但是現在已經變成了
//img1.sycdn.imooc.com//598027a90001df8006000338-240-135.jpg
稍微修改一下就可以用了
正則表達式寫錯了吧,是r''不是br''
舉報
如何使用正則處理文本,帶你對python正則有個全面了解
1 回答爬取的地址寫入問題
1 回答為何爬京東首頁的圖片失敗啊
1 回答尷尬的問一下,爬取圖片后為什么找不到圖片
2 回答不知道為什么,同樣的正則表達式,python2爬取的鏈接都正確,python3爬取的鏈接返回的url_list有個別錯誤,有誰知道是什么原因嗎?
1 回答為什么下面這句代碼匹配為空呢? 正則表達式不是去匹配"123abc"中的子串嗎?"abc"是符合表達式要求的啊
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-01-27
我用的pycharm,今天才手寫的代碼,改了幾個小地方,都寫在注釋里面,樓主看看注意到沒有,謝謝。
import re
import urllib
req = urllib.request.urlopen('http://www.xianlaiwan.cn/course/list')
#此處加上decode(),不然拿下來的數據都是亂碼
buf = req.read().decode("utf-8")
#老師講課的url地址已經發生改變,改一下正則匹配就好
# listurl = re.findall(r'src=.+\.jpg', buf)
listurl = re.findall(r'//img.+?\.jpg', buf)
# 改成非貪婪模式就行了
#前面沒有了http:,那么這里手動加上
for index,app_id in enumerate(listurl):
? ? listurl[index] = str(app_id).replace('//', 'http://')
? ? print(index, listurl[index])
print(listurl)
i = 0
for url in listurl:
? ? #寫入模式修改為“wb+”,不然不支持將bytes寫入,親測
? ? f = open(str(i)+".jpg", "wb+")
? ? req = urllib.request.urlopen(url)
? ? buf = req.read()
? ? f.write(buf)
? ? i+=1
2018-01-27
問題就是老師講課的時候圖片地址是你所寫的,但是現在已經變成了
稍微修改一下就可以用了
2017-11-28
正則表達式寫錯了吧,是r''不是br''