課程
/后端開發(fā)
/Python
/python正則表達(dá)式
為什么我的src標(biāo)簽下沒有http??
2017-12-11
源自:python正則表達(dá)式 4-2
正在回答
import re
import urllib
req = urllib.request.urlopen('http://idcbgp.cn/course/list')
#此處加上decode(),不然拿下來的數(shù)據(jù)都是亂碼
buf = req.read().decode("utf-8")
#老師講課的url地址已經(jīng)發(fā)生改變,改一下正則匹配就好
# listurl = re.findall(r'src=.+\.jpg', buf)
listurl = re.findall(r'//img.+?\.jpg', buf)
# 改成非貪婪模式就行了
#前面沒有了http:,那么這里手動(dòng)加上
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寫入,親測(cè)
? ? f = open(str(i)+".jpg", "wb+")
? ? req = urllib.request.urlopen(url)
? ? buf = req.read()
? ? f.write(buf)
? ? i+=1
? ? f.close()
慕斯卡凌
我也是。。所以用正則表達(dá)式匹配不到需要的url地址~好尷尬
qq_慕工程8234668
有時(shí)候url是相對(duì)地址,就是說前面還要加上服務(wù)器的地址。
舉報(bào)
如何使用正則處理文本,帶你對(duì)python正則有個(gè)全面了解
2 回答print(re.findall(r'http:.+\.jpg', 'http://123.jpg,http://234.jpg')) # 為啥打印出的是['http:123.jpg,http:234.jpg'], 不是['http:123.jpg', 'http:234.jpg'] ?
1 回答有沒有素材?
3 回答寫入文件的時(shí)候,沒有下載的過程圖片是怎么下載下來的啊?
1 回答re.findall(r'src=.+\.jpg', buf) 中的 \ . 不是不發(fā)生轉(zhuǎn)義嘛,干嘛還這樣寫?
2 回答請(qǐng)問為什么會(huì)出現(xiàn)urllib2.HTTPError: HTTP Error 400: Bad Request錯(cuò)誤?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-01-27
import re
import urllib
req = urllib.request.urlopen('http://idcbgp.cn/course/list')
#此處加上decode(),不然拿下來的數(shù)據(jù)都是亂碼
buf = req.read().decode("utf-8")
#老師講課的url地址已經(jīng)發(fā)生改變,改一下正則匹配就好
# listurl = re.findall(r'src=.+\.jpg', buf)
listurl = re.findall(r'//img.+?\.jpg', buf)
# 改成非貪婪模式就行了
#前面沒有了http:,那么這里手動(dòng)加上
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寫入,親測(cè)
? ? f = open(str(i)+".jpg", "wb+")
? ? req = urllib.request.urlopen(url)
? ? buf = req.read()
? ? f.write(buf)
? ? i+=1
? ? f.close()
2017-12-20
我也是。。所以用正則表達(dá)式匹配不到需要的url地址~好尷尬
2017-12-12
有時(shí)候url是相對(duì)地址,就是說前面還要加上服務(wù)器的地址。