作業(yè)二之簡(jiǎn)單爬蟲(chóng)正則表達(dá)式

好不容易盼來(lái)三天假,于是我在家蹲著coding啦。

這一次課堂,我主要了解兩個(gè)知識(shí)點(diǎn):1、利用urllib抓取網(wǎng)頁(yè);2利用正則表達(dá)式獲取網(wǎng)頁(yè)中需要的內(nèi)容。

第一個(gè)練習(xí)做的比較順利,代碼如下:
'''
import urllib.request
import re
page = urllib.request.urlopen('https://tieba.baidu.com/p/3205263090')

print(page.read())

html = page.read()
html = html.decode('UTF-8')

src="([.\S].jpg)" pic_ext="jpeg"

reg = r'src="([.\S].jpg)" pic_ext="jpeg"'
imgurls = re.findall(reg, html) #匹配出所有url

x=1

遍歷

for imgurl in imgurls:
print (imgurl)
urllib.request.urlretrieve(imgurl,"E:/pycharmproject/pachongtest/%s.jpg"%x)
print("downloading pic %d"%x)
x+=1
'''

第二個(gè)練習(xí)遇到了困難。運(yùn)行完畢后報(bào)“url錯(cuò)誤”,我將url打印出來(lái)后發(fā)現(xiàn)是這樣的:
“//hbimg.b0.upaiyun.com/654953460733026a7ef6e101404055627ad51784a95c-B6OFs4_sq75sf”,試著更換正則表達(dá)式,得到的url還是這樣的,最后沒(méi)有辦法,手動(dòng)的在獲取的每個(gè)url上加了一個(gè)http:,于是圖片都能保存了。代碼如下:
'''
import urllib.request
import re
page = urllib.request.urlopen('http://huaban.com/pins/1120072731/')
html = page.read()
html = html.decode('UTF-8')
print(html)

reg = r'<img src="([.\S])"'
imgurls = re.findall(reg, html) #匹配出所有url

x=1

遍歷

for imgurl in imgurls:

 imgurl='http:'+imgurl
 print(imgurl)
 urllib.request.urlretrieve(imgurl,"E:/pycharmproject/pachongtest/%s.jpg"%x)
 print("downloading pic %d"%x)
 x+=1

'''

另外,因?yàn)殚_(kāi)始是在OSX上寫(xiě)的,環(huán)境是python2.7,這兩天換到臺(tái)式機(jī)上,裝的python3.6,發(fā)現(xiàn)語(yǔ)法什么的還是有很多不一樣,兩邊的代碼放到對(duì)方那不一定能正確運(yùn)行。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容