1. 程式人生 > >python爬蟲_入門

python爬蟲_入門

png mpi pytho mage 如果 index val print 內容

本來覺得沒什麽可寫的,因為網上這玩意一搜一大把,不過爬蟲畢竟是python的一個大亮點,不說說感覺對不起這玩意
基礎點來說,python2寫爬蟲重點需要兩個模塊,urllib和urllib2,其實還有re
先介紹下模塊的一些常用功能
urllib.urlopen(‘http://xxx.xxx.xxx‘) #打開一個網址,只是打開,和open差不多
urllib2.Request(url) #解析網址,這個可以省略,具體不是很懂,一些功能,比如加head頭什麽的也需要使用這個
urllib.urlretrieve(url,filename) #下載用,把url提供的東西down下來,並用filename保存
舉個蜂鳥爬圖片的例子,下面上偽代碼:

1、url解析
2、打開url
3、讀取url,就是read()
4、使用re.findall找到所有和圖片有關系的地址,這裏只jpg
5、循環下載

技術分享圖片

看圖上,圖片鏈接格式是src="http://index_url/page_num/image_name.jpg?XXXXXXX",那麽如果需要下載的話一定是需要紅圈部分,也就是http://index_url/page_num/image_name.jpg
分析之後後面的事就好辦了,下面上代碼

import urllib
import urllib2
import re

#處理地址,並獲取頁面全部的圖片地址
def get_image_url(url):
  
#url_format = urllib2.Request(url) #1 url_open = urllib.urlopen(url) #2 url_read = url_open.read() #3 re_value = re.compile((?<=src\=\").*?\.jpg) image_url_list = re.findall(re_value,url_read) #4 return image_url_list #這個函數專門用來下載,前面兩行是將圖片連接中/前面的內容全部刪除,留下後面的文件名用來保存文件的,try不說了,不清楚請翻回去看容錯
def down_image(image_url): rev = ^.*/ file_name = re.sub(rev,‘‘,image_url) try: urllib.urlretrieve(image_url,file_name) except: print download %s fail %image_url else: print download %s successed %image_url if __name__ == __main__: url = http://bbs.fengniao.com/forum/10384633.html image_url_list = get_image_url(url) for image_url in image_url_list: down_image(image_url) #5

困死,睡覺去。。。。。有時間再說說翻頁什麽的,就能爬網站了

python爬蟲_入門