python學習之簡單python爬蟲
阿新 • • 發佈:2018-12-21
參考文章來源:
基本算是第一次使用python寫程式碼,所以直接參考了已有的部落格的編寫過程。
依然遇到了問題:
問題一:
urllib 和 urllib2的區別有哪些?
用urllib2獲取到網頁內容後,不能對內容進行read()操作。
但是使用urllib 就可以對該網頁內容進行read()
問題二:
print u'請輸入url:',
這一行報錯:
SyntaxError: Non-ASCII character '\xe8' in file /Users/xialei/PycharmProjects/spider/venv/code/__init__.py on line 28, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
解決方法:
在檔案頭部加入:
# -*- coding: utf-8 -*-
指定編碼格式
問題三:
print u'請輸入url:',
這個程式碼為什麼要再 字串前面加上 u 字母?
為什麼最後有 逗號?
實際不加u,效果是一樣的
實際不加逗號 ,效果也是一樣的
最終實際程式:
# -*- coding: utf-8 -*- import urllib import re # page = urllib.urlopen('http://tieba.baidu.com/p/1753935195') # htmlCode = page.read(); # #print htmlCode # # pageFile = open('pageCode.txt','w') # pageFile.write(htmlCode) # pageFile.close() def get_html(url): page = urllib.urlopen(url) html = page.read() return html def get_image(html_code): reg = r'src="(.+?\.jpg)" width' reg_img = re.compile(reg) imgList = reg_img.findall(html_code) x = 0 for img in imgList: print img urllib.urlretrieve(img, '%s.jpg' % x) x += 1 print '請輸入url: ' url = raw_input() if url: pass else: url = 'http://tieba.baidu.com/p/1753935195' html_code = get_html(url) get_image(html_code)
執行結果: