python實例1--用正則表達式爬取靜態網頁上的圖片


本來使用的是python3配合pycharm,但是編碼問題一直有問題,
最開始時是:
TypeError: cannot use a string pattern on a bytes-like object  知道可能是因爲python3read()返回的是bytes值而不是string值
加encode()提示:
AttributeError: 'bytes' object has no attribute 'timeout'
要麼字符串前加 b' 就是:
'bytes' object has no attribute 'timeout'
要麼加.decode('gbk')就是:
'gbk'codec can't decode byte 0x81 in position 18


反正最後調試了很長時間差了好多方法都沒有解決,深感無奈切換到了python2.7,剛開始也不行,後來發現是因爲雖然新建項目設置的是2.7但是解譯器還是3的,之後就可以了。雖然初試pycharm各種毛病不適應,但不得不說界面,coding和安第三方插件時還是很方便的。
目前使用的快捷鍵有

ctrl+/整體註釋和取消註釋,

ctrl+Z回撤,

tab縮進,shift+tab取消縮進

其他功能待開發


#coding=utf-8
import re
import urllib2
url = urllib2.urlopen('http://www.imooc.com/course/list')
buf = url.read()
bbq = re.compile(r'http:.+\.jpg')
abc = bbq.findall(buf)
# print(abc)
i = 0
for a in abc:
    f = open(str(i)+'.jpg','wb')
    # 用二進制打開纔不會有馬賽克
    req = urllib2.urlopen(a)
    b = req.read()
    f.write(b)
    i += 1


發佈了35 篇原創文章 · 獲贊 16 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章